IP Library Granted Patent US 10,896,724
Granted Patent B2
US 10,896,724 · App. 16/223,716 · Granted Jan 19, 2021

Non-volatile storage system with reduced program transfers

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,896,724
App. No.
16/223,716
Granted
Jan 19, 2021
Kind
B2
Abstract

A memory system comprises a plurality of memory dies and a controller (or other control circuit) connected to the memory dies. To reduce the time it takes for the memory system to program data and make that programmed data available for reading by a host (or other entity), as well as persistently store the data in a compact manner that efficiently uses space in the memory system, the data is concurrently programmed as single bit per memory cell (fast programming) and multiple bits per memory cell (compact storage). To accomplish this programming strategy, the controller concurrently transfers data to be programmed to a first memory die and a second memory die. The transferred data is programmed in the first memory die at a single bit per memory cell and in the second memory die at multiple bits per memory cell.

Claims (62)

1. An apparatus, comprising:

a plurality of memory dies each having non-volatile memory cells; and

a control circuit connected to the memory dies, the control circuit is configured to concurrently transfer first data to a first temporary location on a first memory die of the plurality of memory dies and to a second temporary location on a second memory die of the plurality of memory dies as a common data transfer of the first data, the control circuit is further configured to program the transferred first data of the common data transfer from the first temporary location to non-volatile memory cells on the first memory die at a first density per memory cell and program the transferred first data of the common data transfer from the second temporary location to non-volatile memory cells on the second memory die at a second density per memory cell.

2. The apparatus of claim 1 , wherein:

the first density per memory cell is one bit per memory cell; and

the second density per memory cell is multiple bit per memory cell.

3. The apparatus of claim 1 , wherein:

the control circuit is configured to send a first address to the plurality of memory dies, the first address pertains to a first location in the first memory die;

the control circuit is configured to send a second address to the plurality of memory dies, the second address pertains to a second location in the second memory die; and

the control circuit is configured to program the transferred first data of the common data transfer to the first location in the first memory die at the first density per memory cell and program the transferred first data of the common data transfer to the second location in the second memory die at the second density per memory cell.

4. The apparatus of claim 1 , wherein:

the control circuit asserts a single programming command to the plurality of memory dies that causes the first memory die to program the transferred first data in the first memory die at the first density per memory cell and the second memory die to program the transferred first data in the second die at the second density per memory cell.

5. The apparatus of claim 1 , further comprising:

a signal bus connected to the control circuit and the memory dies, the control circuit is configured to concurrently transfer the first data to the first memory die and the second memory die over the signal bus during the common data transfer.

6. The apparatus of claim 5 , wherein:

the control circuit is configured to program the transferred first data to non-volatile memory cells on the first memory die at the first density per memory cell and start programming the transferred first data to non-volatile memory cells on the second memory die at the second density per memory cell in response to one transferring of the first data over the signal bus by asserting one or more programming commands on the signal bus.

7. The apparatus of claim 5 , wherein:

the control circuit is configured to send a first address on the signal bus, the first address pertains to a first location in the first memory die; and

the control circuit is configured to send a second address on the signal bus, the second address pertains to a second location in the second memory die.

8. The apparatus of claim 7 , wherein:

the control circuit is configured to send a command for first density per memory cell programming on the signal bus for the first address;

the control circuit is configured to send a command for second density per memory cell programming on the signal bus for the second address; and

the control circuit asserts a programming command on the signal bus that causes the first memory die to program the transferred first data to non-volatile memory cells on the first memory die at the first density per memory cell and the second memory die to program the transferred first data to non-volatile memory cells on the second die at the second density per memory cell.

9. The apparatus of claim 1 , wherein:

the control circuit is configured to receive the first data from a host; and

the control circuit is configured to report successful programming of the first data to the host subsequent to completion of programming of the transferred first data to non-volatile memory cells on the first memory die at the first density per memory cell and prior to completion of programming the transferred first data to non-volatile memory cells on the second die at the second density per memory cell.

10. The apparatus of claim 1 , wherein:

the non-volatile storage apparatus is a solid state drive; and

the control circuit is a controller in the solid state drive.

11. The apparatus of claim 1 , wherein:

the control circuit is configured to program the transferred first data to non-volatile memory cells on the first memory die at the first density per memory cell concurrently with the programming of the transferred first data to non-volatile memory cells on the second die at the second density per memory cell.

12. The apparatus of claim 1 , wherein:

the control circuit is configured to combine the transferred first data with other data and program the transferred first data combined with other data to non-volatile memory cells on the second memory die at the second density per memory cell subsequent to the programming of the transferred first data to non-volatile memory cells on the first die at the first density per memory cell.

13. The apparatus of claim 1 , further comprising:

a first chip enable signal connected to the first memory die and the control circuit;

a second chip enable signal connected to the second memory die and the control circuit;

the control circuit is configured to concurrently transfer the first data to the first memory die and the second memory die while asserting the first chip enable signal and the second chip enable signal;

the control circuit is configured to send a first address to the first memory die and the second memory die while asserting the first chip enable signal and not asserting the second chip enable signal, the first address pertains to a first location in the first memory die for programming the first data; and

the control circuit is configured to send a second address to the first memory die and the second memory die while asserting the second chip enable signal and not asserting the first chip enable signal, the second address pertains to a second location in the second memory die for programming the first data.

14. The apparatus of claim 1 , further comprising:

a chip enable signal connected to the first memory die, the second memory die and the control circuit;

the control circuit is configured to concurrently transfer the first data to the first memory die and the second memory die while asserting the chip enable signal;

the control circuit is configured to send a first address to the first memory die and the second memory die while asserting the chip enable signal, the first address pertains to a first location in the first memory die for programming the first data; and

the control circuit is configured to send a second address to the first memory die and the second memory die while asserting the chip enable signal, the second address pertains to a second location in the second memory die for programming the first data.

15. A method, comprising:

asserting a command for single bit per memory cell programming on a signal bus connected to multiple memory dies;

transferring a first address on the signal bus, the first address pertains to a first location in the multiple memory dies;

asserting a command for multiple bit per memory cell programming on the signal bus;

transferring a second address on the signal bus, the second address pertains to a second location in the multiple memory dies;

transferring a data set on the signal bus to one or more temporary locations in the multiple memory dies; and

asserting a program command on the signal bus that causes the data set to be programmed from the one or more temporary locations as both single bit per memory cell at the first location in the multiple memory dies and as multiple bit per memory cell at the second location in the multiple memory dies both in response to one transferring of the data set on the signal bus.

16. The method of claim 15 , wherein:

the first location in the multiple memory dies includes memory cells in a first memory die of the multiple memory dies; and

the second location in the multiple memory dies includes memory cells in a second memory die of the multiple memory dies.

17. The method of claim 16 , wherein:

the asserting the program command comprises asserting the program command to the first memory die and to the second memory die that causes the data set to be concurrently programmed as single bit per memory cell at the first location on the first memory die and as multiple bit per memory cell at the second location on the second memory die.

18. The method of claim 15 , wherein:

asserting the first address on the signal bus comprises asserting different portions of the first address during different address cycles on the signal bus of a first set of address cycles subsequent to the command for single bit per memory cell programming and prior to the program command; and

asserting the second address on the signal bus comprises asserting different portions of the second address during different address cycles on the signal bus of a second set of address cycles subsequent to the command for multiple bit per memory cell programming and prior to the program command.

19. An apparatus, comprising:

a memory interface configured to communicate with one or more memory die that each have non-volatile memory cells; and

means for transferring first data to one or more temporary locations in the one or more memory die over a single signal bus via the memory interface as part of a common data transfer of the first data to the one or more memory die and causing concurrent performing of single bit per memory cell programming of the first data transferred in the common data transfer to a first location in the one or more memory die and multiple bit per memory cell programming of the same first data transferred in the common data transfer to a second location in the one or more memory die.

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 18, 2018
From: SCHMIER, JACOB; LINDBERG, TODD; ELLIS, ROBERT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 047807/0939 →