IP Library Granted Patent US 10,175,890
Granted Patent B2
US 10,175,890 · App. 15/388,623 · Granted Jan 8, 2019

Non-binary ECCs for low latency read, fractional bits per cell of NAND flash

Inventors: Zvonimir Z. Bandic (San Jose, CA); Kiran Kumar Gunnam (Milpitas, CA); Minghai Qin (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
G06F3/0611G06F3/064G06F3/0619G06F3/0659G06F3/0679G06F11/1072G11C29/52
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 10,175,890
App. No.
15/388,623
Granted
Jan 8, 2019
Kind
B2
Abstract

The present disclosure generally relates to methods of reading data from a memory device using non-binary ECCs. The memory device includes multiple memory cells where each memory cell has multiple pages that are arranged in distinct layouts for physical addresses thereof. When a read request is received from a host device to obtain data from a specific page of a specific memory cell of a memory device, rather than reading the data from all pages of the memory cell, the data can be read from just the desired page and then decoded. Following decoding, the data can be delivered to the host device. Because only the data from a specific page of a memory cell is read, rather than the entire memory cell, the read latency is reduced when compared to reading the entire memory cell.

Claims (128)

1. A method, comprising:

receiving a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells;

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device; and

each page has a different number of read thresholds per page;

determining that the read request involves reading information from less than all pages of a first memory cell;

reading information from less than all pages of the first memory cell;

decoding the read information using non-binary error correction codes (ECCs); and

delivering the decoded information to the host device.

2. A method, comprising:

receiving a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells; and

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device;

determining that the read request involves reading information from less than all pages of a first memory cell;

reading information from less than all pages of the first memory cell;

decoding the read information using non-binary error correction codes (ECCs); and

delivering the decoded information to the host device,

wherein the memory device is a twelve level device having two cells having two pages and a different number of read thresholds per page and wherein the reading comprises reading less than eleven thresholds.

3. The method of claim 2 , wherein an average reads per page to read the information from the first memory cell is 5.5 reads per page, a first page of the two pages has 1.5 bits per cell and a second page of the two pages has 2 bits per cell.

4. A method, comprising:

receiving a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells; and

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device;

determining that the read request involves reading information from less than all pages of a first memory cell;

reading information from less than all pages of the first memory cell;

decoding the read information using non-binary error correction codes (ECCs); and

delivering the decoded information to the host device,

wherein the memory device is a twelve level device having two cells having three pages and a different number of read thresholds per page and wherein the reading comprises reading less than eleven thresholds.

5. The method of claim 4 , wherein an average reads per page to read the information from the first memory cell is 3.67 reads per page, a first page of the three pages has 1 bit per cell and a second page of the three pages has 1 bit per cell and a third page of the three pages has 1.5 bits per cell.

6. A method, comprising:

receiving a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells; and

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device;

determining that the read request involves reading information from less than all pages of a first memory cell;

reading information from less than all pages of the first memory cell;

decoding the read information using non-binary error correction codes (ECCs); and

delivering the decoded information to the host device,

wherein the memory device is a six level device having two cells having two pages and a different number of read thresholds per page and wherein the reading comprises reading less than five thresholds.

7. The method of claim 6 , wherein an average reads per page to read the information from the first memory cell is 2.5 reads per page, a first page of the two pages has 1 bit per cell and a second page of the two pages has 1.5 bits per cell.

8. A computer system for storing and retrieving data, comprising:

a scheduler; and

a memory storing instructions that, when executed by the scheduler, cause the computer system to:

receive a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells;

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device; and

each page has a different number of read thresholds per page;

determine that the read request involves reading information from less than all pages of a first memory cell;

read information from less than all pages of the first memory cell;

decode the read information using non-binary error correction codes (ECCs); and

deliver the decoded information to the host device.

9. A computer system for storing and retrieving data, comprising:

a scheduler; and

a memory storing instructions that, when executed by the scheduler, cause the computer system to:

receive a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells;

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device; and

each page has a different number of read thresholds per page;

determine that the read request involves reading information from less than all pages of a first memory cell;

read information from less than all pages of the first memory cell;

decode the read information using non-binary error correction codes (ECCs); and

deliver the decoded information to the host device,

wherein the memory device is a twelve level device having two cells having two pages and a different number of read thresholds per page and wherein the reading comprises reading less than eleven thresholds.

10. The computer system of claim 9 , wherein an average reads per page to read the information from the first memory cell is 5.5 reads per page, a first page of the two pages has 1.5 bits per cell and a second page of the two pages has 2 bits per cell.

11. A computer system for storing and retrieving data, comprising:

a scheduler; and

a memory storing instructions that, when executed by the scheduler, cause the computer system to:

receive a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells;

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device; and

each page has a different number of read thresholds per page;

determine that the read request involves reading information from less than all pages of a first memory cell;

read information from less than all pages of the first memory cell;

decode the read information using non-binary error correction codes (ECCs); and

deliver the decoded information to the host device,

wherein the memory device is a twelve level device having two cells having three pages and a different number of read thresholds per page and wherein the reading comprises reading less than eleven thresholds.

12. The computer system of claim 11 , wherein an average reads per page to read the information from the first memory cell is 3.67 reads per page, a first page of the three pages has 1 bit per cell and a second page of the three pages has 1 bit per cell and a third page of the three pages has 1.5 bits per cell.

13. A computer system for storing and retrieving data, comprising:

a scheduler; and

a memory storing instructions that, when executed by the scheduler, cause the computer system to:

receive a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells;

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device; and

each page has a different number of read thresholds per page;

determine that the read request involves reading information from less than all pages of a first memory cell;

read information from less than all pages of the first memory cell;

decode the read information using non-binary error correction codes (ECCs); and

deliver the decoded information to the host device,

wherein the memory device is a six level device having two cells having two pages and a different number of read thresholds per page and wherein the reading comprises reading less than five thresholds.

14. The computer system of claim 13 , wherein an average reads per page to read the information from the first memory cell is 2.5 reads per page, a first page of the two pages has 1 bit per cell and a second page of the two pages has 1.5 bits per cell.

15. A non-transitory computer readable storage medium containing instructions that, when executed by a scheduler, performs the following method:

receive a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells;

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device; and

each page has a different number of read thresholds per page;

determine that the read request involves reading information from less than all pages of a first memory cell;

read information from less than all pages of the first memory cell;

decoding the read information using non-binary error correction codes (ECCs); and

deliver the decoded information to the host device.

16. A non-transitory computer readable storage medium containing instructions that, when executed by a scheduler, performs the following method:

receive a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells; and

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device;

determine that the read request involves reading information from less than all pages of a first memory cell;

read information from less than all pages of the first memory cell;

decoding the read information using non-binary error correction codes (ECCs); and

deliver the decoded information to the host device,

wherein the memory device is a twelve level device having two cells having two pages and a different number of read thresholds per page and wherein the reading comprises reading less than eleven thresholds.

17. The non-transitory computer readable storage medium of claim 16 , wherein an average reads per page to read the information from the first memory cell is 5.5 reads per page, a first page of the two pages has 1.5 bits per cell and a second page of the two pages has 2 bits per cell.

18. A non-transitory computer readable storage medium containing instructions that, when executed by a scheduler, performs the following method:

receive a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells; and

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device;

determine that the read request involves reading information from less than all pages of a first memory cell;

read information from less than all pages of the first memory cell;

decoding the read information using non-binary error correction codes (ECCs); and

deliver the decoded information to the host device,

wherein the memory device is a twelve level device having two cells having three pages and a different number of read thresholds per page and wherein the reading comprises reading less than eleven thresholds.

19. The non-transitory computer readable storage medium of claim 18 , wherein an average reads per page to read the information from the first memory cell is 3.67 reads per page, a first page of the three pages has 1 bit per cell and a second page of the three pages has 1 bit per cell and a third page of the three pages has 1.5 bits per cell.

20. A non-transitory computer readable storage medium containing instructions that, when executed by a scheduler, performs the following method:

receive a read request at a memory device from a host device that is coupled to the memory device, wherein:

the memory device is a multiple level storage device having a plurality of memory cells; and

each memory cell has a plurality of pages with each page corresponding to a different level of the multiple level storage device;

determine that the read request involves reading information from less than all pages of a first memory cell;

read information from less than all pages of the first memory cell;

decoding the read information using non-binary error correction codes (ECCs); and

deliver the decoded information to the host device,

wherein the memory device is a six level device having two cells having two pages and a different number of read thresholds per page and wherein the reading comprises reading less than five thresholds.

21. The non-transitory computer readable storage medium of claim 20 , wherein an average reads per page to read the information from the first memory cell is 2.5 reads per page, a first page of the two pages has 1 bit per cell and a second page of the two pages has 1.5 bits per cell.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2016
From: BANDIC, ZVONIMIR Z.; GUNNAM, KIRAN KUMAR; QIN, MINGHAI
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040779/0023 →
Continuity (1)
Related Publication 20180181317A1 · Jun 28, 2018