IP Library Granted Patent US 11,029,872
Granted Patent B2
US 11,029,872 · App. 16/452,203 · Granted Jun 8, 2021

Non-volatile storage system with data shaping memory partitions

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,029,872
App. No.
16/452,203
Granted
Jun 8, 2021
Kind
B2
Abstract

A non-volatile storage apparatus comprises a non-volatile storage and a control circuit connected to the non-volatile storage. The non-volatile storage structure is organized into multiple partitions. Each partition is preassigned to a different data shaping level. Data to be stored in the non-volatile storage is shaped based on its entropy. The control circuit is configured to write shaped data to a partition of the multiple partitions that is preassigned to a same shaping level as the shaped data.

Claims (69)

1. A non-volatile storage apparatus, comprising:

a non-volatile storage structure comprising non-volatile memory cells organized into multiple physical partitions, each physical partition of the multiple physical partitions is preassigned to a different shaping level; and

a control circuit connected to the non-volatile storage structure, the control circuit is configured to:

receive data,

determine entropy of the received data,

choose a shaping level for the received data based on the determined entropy,

shape the received data to achieve the chosen shaping level which results in shaped data,

choose a physical partition of the multiple physical partitions that is preassigned to the same shaping level as the shaped data, and

write the shaped data to the chosen physical partition of the multiple physical partitions that is preassigned to the same shaping level as the shaped data.

2. The non-volatile storage apparatus of claim 1 , wherein:

the control circuit is configured to transform the shaped data by rearranging bits into runs of same values prior to writing the shaped data.

3. The non-volatile storage apparatus of claim 1 , wherein:

the control circuit is configured to receive a request to read data at an address, each of the multiple physical partitions has a location corresponding to the address;

the control circuit is configured to read data at the address from the multiple physical partitions, resulting in multiple data chunks read from different physical partitions;

the control circuit is configured to choose the correct data chunk read from the multiple data chunks read; and

the control circuit is configured to send out the chosen correct data chunk in response to the request.

4. The apparatus of claim 1 , wherein:

the non-volatile memory cells are phase change memory cells that exhibit asymmetrical performance when writing data; and

the control circuit is a controller connected to the phase change memory cells.

5. The apparatus of claim 1 , wherein:

the control circuit is configured to write the shaped data to the physical partition of the multiple physical partitions that is preassigned to the same shaping level as the shaped data and that is already storing existing data that is already shaped at the same shaping level as the shaped data.

6. A non-volatile storage apparatus, comprising:

a non-volatile storage structure comprising non-volatile memory cells organized into multiple physical partitions, each physical partition of the multiple physical partitions is preassigned to a different shaping level; and

a control circuit connected to the non-volatile storage structure, the control circuit is configured to write shaped data to a physical partition of the multiple physical partitions that is preassigned to a same shaping level as the shaped data;

the control circuit is configured to receive a request to read data at an address, each of the multiple physical partitions has a location corresponding to the address;

the control circuit is configured to choose one of the multiple physical partitions, read a data chunk from the chosen physical partition, and determine whether the data chunk read is correct data until the control circuit finds the correct data; and

the control circuit is configured to report the correct data.

7. A method for writing data to non-volatile memory, comprising:

accessing a unit of data;

determining entropy of the unit of data;

choosing a shaping level for the unit of data based on the determined entropy;

shaping the unit of data to achieve the chosen shaping level;

choosing a partition of the non-volatile memory that is preassigned to the chosen shaping level; and

programming the shaped unit of data into the chosen partition of the non-volatile memory that is preassigned to the chosen shaping level.

8. The method of claim 7 , further comprising:

transforming the shaped unit of data by rearranging bits into runs of same values, the programming comprises programming the transformed shaped unit of data into the chosen partition of the non-volatile memory that is preassigned to the chosen shaping level.

9. The method of claim 7 , wherein:

the determining entropy, choosing the shaping level, shaping and choosing the partition are performed by a controller connected to a memory die, the memory die comprising the non-volatile memory.

10. The method of claim 7 , wherein:

the determining entropy, choosing the shaping level, shaping and choosing the partition are performed by a host that is in communication with a controller of a memory system, the controller is connected to a memory die, the memory die comprising the non-volatile memory, the controller and the memory die perform the programming.

11. The method of claim 7 , wherein:

the determining entropy, choosing the shaping level and choosing the partition are performed by a host that is in communication with a controller of a memory system, the controller is connected to a memory die, the memory die comprising the non-volatile memory;

the shaping is performed by the controller; and

the programming is performed by the controller and the memory die.

12. The method of claim 7 , further comprising:

a host sending a request to read the unit of data to a controller of a memory system, the controller is connected to a memory die, the memory die comprising the non-volatile memory;

the controller reads the shaped unit of data programmed in the non-volatile memory;

the controller sends shaped unit of data read to the host; and

the host removes shaping from the shaped unit of data.

13. The method of claim 7 , wherein:

the determining entropy and choosing the shaping level are performed by a host that is in communication with a controller of a memory system, the controller is connected to a memory die, the memory die comprising the non-volatile memory;

the method further includes the host sending to the controller an indication of the shaping level;

the shaping and choosing the partition are performed by the controller; and

the programming is performed by the controller and the memory die.

14. The method of claim 13 , further comprising:

the controller receiving a request to read data at an address;

the controller reading multiple data chunks, each data chunk read from a different partition at a location corresponding to the address;

the controller choosing one of the data chunks to be correct data; and

the controller reporting the chosen data chunk.

15. The method of claim 13 , further comprising:

(a) the controller receiving a request to read data at an address, the non-volatile memory comprising multiple partitions that include the address;

(b) the controller choosing one of the multiple partitions and reading a data chunk from the chosen partition;

(c) the controller determining whether the data chunk read in (b) is correct data;

(d) repeating (b) and (c) if the data chunk read in (b) is not correct data; and

(e) reporting the data chunk if the data chunk read in (b) is correct data.

16. A non-volatile storage apparatus, comprising:

a host interface configured to communicate with a host;

a memory interface configured for communication with non-volatile storage; and

a processor connected to the host interface and the memory interface, the processor is configured to receive a unit of data and an indication of a shaping level from a host via the host interface, the processor configured to shape the unit of data to achieve the shaping level, the processor is configured to choose a partition of the non-volatile storage based on the indication of the shaping level and program the shaped unit of data into the chosen partition via the memory interface.

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 Jun 25, 2019
From: NAVON, ARIEL; SHARON, ERAN; ALROD, IDAN; BAZARSKY, ALEX
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049584/0387 →