IP Library Granted Patent US 10,289,552
Granted Patent B2
US 10,289,552 · App. 15/611,510 · Granted May 14, 2019

Storage system and method for flush optimization

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,289,552
App. No.
15/611,510
Granted
May 14, 2019
Kind
B2
Abstract

A storage system and method are provided for flush optimization. In one embodiment, a storage system is provided comprising a cache, a non-volatile memory, and a controller. The controller is configured to: store, in the cache, data received from a host and to be written in the non-volatile memory; receive a command from the host to move the data stored in the cache into the non-volatile memory; without having executed the command, send a confirmation to the host that the command was executed; and execute the command after sending the continuation to the host.

Claims (40)

1. A storage system comprising:

a cache;

a non-volatile memory; and

a controller in communication with the cache and the non-volatile memory, wherein the controller is configured to:

store, in the cache, data received from a host and to be written in the non-volatile memory;

receive a command from the host to move the data stored in the cache into the non- volatile memory;

without having executed the command, send a confirmation to the host that the command was executed; and

execute the command after sending the confirmation to the host,

wherein the controller is configured to send the confirmation to the host only after receiving, from the host, an indication that the data in the cache is safe from loss due to power failure.

2. The storage system of claim 1 , wherein the indication indicates that the host's battery is un-removable and indicates the power charging level of the host's battery.

3. The storage system of claim 1 , wherein the controller is configured to execute the command after an expiration of a time delay.

4. The storage system of claim 3 further comprising a capacitor configured to hold enough charge to power the storage system for more than the time delay.

5. The storage system of claim 3 , wherein a length of the time delay is set by the host.

6. The storage system of claim 1 , wherein the cache comprises storage class memory.

7. The storage system of claim 1 further comprising a write command queue, and wherein the controller is further configured to:

prior to executing the command to move the data:

determine if there is a write command in the write command queue; and

in response to determining there is a write command in the write command queue, store, in the cache, data associated with the write command.

8. The storage system of claim 1 , wherein the non-volatile memory comprises a three-dimensional memory.

9. The storage system of claim 1 , wherein the storage system is embedded in the host.

10. The storage system of claim 1 , wherein the storage system is removably connected to the host.

11. A method for executing a flush command, the method comprising:

performing the following in a storage system in communication with a host, wherein the storage system comprises a write cache:

receiving a command from the host to flush the write cache;

sending an acknowledgement to the host that the cache was flushed even though the write cache was not flushed;

after a period of time after sending the acknowledgement, flushing the write cache, wherein the data flushed from the write cache after the period of time is different from the data that would have been flushed if the write cache was flushed prior to sending the acknowledgement; and

before sending the acknowledgement, receiving an indication from the host that the data in the write cache will not be lost due to power failure.

12. The method of claim 11 , wherein the indication indicates that the host's battery is un-removable and indicates the power charging level of the host's battery.

13. The method of claim 11 further comprising prior to flushing the write cache:

determining if there is a write command in a write command queue in the storage system; and

in response to determining there is a write command in the write command queue, storing, in the write cache, data associated with the write command.

14. The method of claim 11 , wherein the write cache is flushed into a non-volatile, three-dimensional memory of the storage system.

15. The method of claim 11 , wherein the storage system is embedded in the host.

16. The method of claim 11 , wherein the storage system is removably connected to the host.

17. A storage system comprising:

a cache;

a non-volatile memory; and

means for sending a confirmation of execution of a flush command to a host even though the flush command was not executed, wherein the confirmation is sent after receiving, from the host, an assurance that there will not be a power loss from the host prior to the storage system later executing the flush command.

18. The storage system of claim 17 , wherein the assurance comprises an indication that indicates that the host's battery is un-removable and the power charging level of the host's battery.

19. The storage system of claim 17 , wherein the non-volatile memory comprises a three-dimensional memory.

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 Jun 13, 2017
From: HELLER, TAL; OSHINSKY, HADAS; SELA, ROTEM; ZILBERSTEIN, EINAV; SHAHARABANY, AMIR; ELI, YIGAL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 042694/0206 →