IP Library Granted Patent US 10,403,377
Granted Patent B2
US 10,403,377 · App. 15/633,479 · Granted Sep 3, 2019

Non-volatile storage with adaptive redundancy

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,403,377
App. No.
15/633,479
Granted
Sep 3, 2019
Kind
B2
Abstract

A non-volatile storage apparatus includes a set of non-volatile memory cells, one or more control circuits in communication with the set of non-volatile memory cells, the one or more control circuits are configured to encode data with a code rate prior to storage in the set of non-volatile memory cells, the code rate selected from two or more code rates according to one or more predictive indicators received with the data, the one or more predictive indicators relating to expected conditions for storage of the data in the set of non-volatile memory cells.

Claims (57)

1. A non-volatile storage apparatus, comprising:

a set of non-volatile memory cells; and

one or more control circuits in communication with the set of non-volatile memory cells, the one or more control circuits are configured to encode data with a code rate prior to storage in the set of non-volatile memory cells, the code rate selected from two or more code rates including at least a first code rate and a second code rate that is higher than the first code rate according to one or more predictive indicators received with the data, the one or more predictive indicators relating to expected conditions for storage of the data in the set of non-volatile memory cells, a nominal capacity of the non-volatile storage apparatus is based on the first code rate and space saved by encoding at the second code rate adds overprovisioning.

2. A non-volatile storage apparatus according to claim 1 , wherein:

the one or more predictive indicators include an indicator of one or more expected environmental conditions experienced by the set of non-volatile memory cells.

3. A non-volatile storage apparatus according to claim 2 , wherein:

the one or more expected environmental conditions include expected temperature difference from write temperature and the one or more control circuits are configured to select a high code rate for data that is expected to experience temperature difference within a temperature range.

4. A non-volatile storage apparatus according to claim 3 , wherein:

the one or more predictive indicators include an indicator of expected data retention time.

5. A non-volatile storage apparatus according to claim 3 , wherein:

the one or more control circuits are configured to select a high code rate for data with a short expected data retention time.

6. A non-volatile storage apparatus according to claim 1 , wherein:

the one or more predictive indicators include an indicator of expected read frequency.

7. A non-volatile storage apparatus according to claim 6 , wherein:

the one or more control circuits are configured to select a high code rate for data stored in the set of non-volatile memory cells near other data that has a low expected read frequency indicated by the indicator of expected read frequency.

8. A non-volatile storage apparatus according to claim 1 , wherein:

the code rate is selected according to one or more additional indicators in addition to the one or more predictive indicators, the one or more additional indicators including an indicator that a copy of the data is available at a location outside the non-volatile storage apparatus.

9. A non-volatile storage apparatus according to claim 1 , wherein:

the one or more control circuits are configured to select the code rate according to a table that links the one or more predictive indicators with the two or more code rates.

10. A non-volatile storage apparatus according to claim 1 , wherein:

the set of non-volatile memory cells is arranged in pages, where a page is a unit of programming; and

the one or more control circuits are configured to encode data with a variable code rate to generate encoded data in variable-length code words and further configured to write the variable-length code words such that one or more pages contain a non-integer number of variable-length code words.

11. An apparatus, comprising:

a first communication interface configured to communicate with a host;

a second communication interface configured to communicate with one or more non-volatile memory dies;

one or more redundancy encoders in communication with the first communication interface and the second communication interface, the one or more redundancy encoders configured to encode data received through the first communication interface for sending through the second communication interface, the one or more redundancy encoders configured to encode data using a code rate selected from two or more code rates; and

a code rate selector that selects the code rate for encoding a portion of data according to an indicator of expected data retention time of the portion of data, the indicator received in a host write command with the portion of data through the first communication interface, the indicator of expected data retention time estimated by the host according to the type of data.

12. An apparatus according to claim 11 , wherein:

the type of data is browser cache data, the data retention time is short, and the selected code rate is high.

13. An apparatus according to claim 11 , further comprising:

a command parser configured to parse a command received through the first communication interface, to extract the one or more predictive indicators from the command, and to provide the one or more predictive indicators to the code rate selector.

14. An apparatus according to claim 11 , further comprising:

a data refresher in communication with the second communication interface, the data refresher configured to initiate refreshing of the portion of data in the one or more non-volatile memory dies according to the one or more predictive indicators.

15. An apparatus according to claim 11 , wherein the indicator is a combined indicator that further includes expected temperature throughout the expected data retention time.

16. A method of programming a non-volatile storage system that has a nominal capacity based on a first code rate, comprising:

receiving first data from a host with a first predictive indicator relating to expected conditions for storage of the first data in a non-volatile memory;

selecting the first code rate for the first data according to the first predictive indicator;

encoding the first data with the first code rate;

storing encoded first data in the non-volatile memory;

receiving second data from the host with a second predictive indicator relating to expected conditions for storage of the second data in the non-volatile memory;

selecting a second code rate for the second data according to the second predictive indicator, the second code rate is higher than the first code rate;

encoding the second data with the second code rate;

storing encoded second data in the non-volatile memory; and

adding space saved by encoding the second data at the second code rate to overprovisioning.

17. A method according to claim 16 , wherein:

the first code rate generates code words of a first size, and encoded first data is stored with an integer number of code words of the first size occupying a page in the non-volatile memory; and

the second code rate generates code words of a second size, and encoded second data is stored with a non-integer number of code words of the second size occupying a page in the non-volatile memory.

18. A method according to claim 16 , wherein:

selecting the first code rate for the first data according to the first predictive indicator includes obtaining the first code rate from a table that links a plurality of predictive indicators to code rates; and

selecting the second code rate for the second data according to the second predictive indicator includes obtaining the second code rate from the table.

19. A method according to claim 18 , wherein:

the plurality of predictive indicators include at least one of: an indicator of an expected environmental condition, an indicator of expected data retention time, and an indicator of expected read frequency.

20. A non-volatile storage apparatus, comprising:

a monolithic three-dimensional memory structure comprising non-volatile memory cells;

means for receiving data in a host write command and for receiving in the host write command one or more predictive indicators relating to expected data retention time of the data in the non-volatile memory cells, the one or more predictive indicators of expected data retention time estimated by the host according to the type of data;

means for identifying a code rate for the data from the one or more predictive indicators; and

means for encoding the data with the code rate.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
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 Aug 28, 2017
From: ACHTENBERG, STELLA; SHARON, ERAN; HAHN, JUDAH GAMLIEL; FAINZILBER, OMER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043698/0781 →