IP Library Granted Patent US 11,481,150
Granted Patent B2
US 11,481,150 · App. 16/837,786 · Granted Oct 25, 2022

Read modify write optimization for video performance

Inventors: Vishwas Saxena (Karnataka, IN); Lalit Mohan Soni (Karnataka, IN)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/0659G06F3/0611G06F3/0679G06F12/06G06F16/13G06F2212/7202
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,481,150
App. No.
16/837,786
Granted
Oct 25, 2022
Kind
B2
Abstract

Aspects of a storage device are provided which reduce write amplification by minimizing data flushes from cache to SLC blocks during RMW operations. A memory of the storage device includes a first memory location of one or more single-level cells and a second memory location of one or more multiple-level cells. A controller of the storage device receives first data associated with a first range of logical addresses and second data associated with a second range of logical addresses. During a RMW operation of the first data, the controller determines whether the first range overlaps with the second range, and stores or flushes the second data in the first memory location when an overlap is determined. The controller stores or writes the second data in the second memory location when an overlap is not determined. Accordingly, data flushing to the single-level cells is minimized when no overlap is determined.

Claims (34)

1. A storage device, comprising:

a memory including a first memory location and a second memory location, wherein the first memory location comprises one or more single level cells and the second memory location comprises one or more multiple level cells; and

a controller configured to:

receive first data associated with a first range of logical addresses and second data associated with a second range of logical addresses from a host device;

determine whether the first range of logical addresses overlaps with the second range of logical addresses;

store the second data in one of the first memory location or the second memory location during a read-modify-write (RMW) operation of the first data based on the determination;

store the second data in the first memory location responsive to at least one address in the first range of logical addresses overlapping with the second range of logical addresses; and

store the second data in the second memory location responsive to the first range of logical addresses not overlapping with the second range of logical addresses.

2. The storage device of claim 1 , wherein the first data comprises a File Allocation Table (FAT) update, and wherein the second data comprises sequential data in one or more allocation units (AUs).

3. The storage device of claim 1 , wherein the one or more single level cells comprise a random partition and the one or more multiple level cells comprise a triple level cell block.

4. The storage device of claim 1 , wherein the controller is further configured to determine whether the first range of logical addresses overlaps with the second range of logical addresses by comparing one or more flash management units (FMUs) of the first data with one or more sequential patterns of the second data.

5. The storage device of claim 4 , wherein the one or more sequential patterns comprise a single sequential pattern, and the controller is further configured to compare each of the one or more FMUs with the single sequential pattern.

6. The storage device of claim 4 , wherein the one or more sequential patterns comprise multiple sequential patterns, and the controller is further configured to compare each of the one or more FMUs with each pattern of the multiple sequential patterns.

7. The storage device of claim 1 , wherein the controller is further configured to refrain from storing the second data in the first memory location during the RMW operation responsive to the first range of logical addresses not overlapping with the second range of logical addresses.

8. The storage device of claim 2 , wherein the controller is further configured to refrain from storing the second data in the first memory location during the RMW operation responsive to the first range of logical addresses not overlapping with the second range of logical addresses.

9. The storage device of claim 4 , wherein the controller is further configured to refrain from storing the second data in the first memory location during the RMW operation responsive to the first range of logical addresses not overlapping with the second range of logical addresses.

10. A storage device, comprising:

a memory including a first memory location and a second memory location, wherein the first memory location comprises one or more single level cells and the second memory location comprises one or more multiple level cells; and

a controller configured to:

receive first data associated with a first range of logical addresses and second data associated with a second range of logical addresses from a host device;

determine whether the first range of logical addresses overlaps with the second range of logical addresses;

store the second data in the first memory location during a read-modify-write (RMW) operation of the first data responsive to at least one address in the first range of logical addresses overlapping with the second range of logical addresses; and

store the second data in the second memory location during the RMW operation of the first data responsive to the first range of logical addresses not overlapping with the second range of logical addresses.

11. The storage device of claim 10 , wherein the first data comprises a File Allocation Table (FAT) update, and wherein the second data comprises sequential data in one or more allocation units (AUs).

12. The storage device of claim 10 , wherein the one or more single-level cells comprise a random partition and the one or more multiple-level cells comprise a triple level cell block.

13. The storage device of claim 10 , wherein the controller is further configured to determine whether the first range of logical addresses overlaps with the second range of logical addresses by comparing one or more flash management units (FMUs) of the first data with one or more sequential patterns of the second data.

14. The storage device of claim 13 , wherein the one or more sequential patterns comprise a single sequential pattern, and the controller is further configured to compare each of the one or more FMUs with the single sequential pattern.

15. The storage device of claim 13 , wherein the one or more sequential patterns comprise multiple sequential patterns, and the controller is further configured to compare each of the one or more FMUs with each pattern of the multiple sequential patterns.

16. The storage device of claim 10 , wherein the controller is further configured to refrain from storing the second data in the first memory location during the RMW operation responsive to the first range of logical addresses not overlapping with the second range of logical addresses.

17. The storage device of claim 11 , wherein the controller is further configured to refrain from storing the second data in the first memory location during the RMW operation responsive to the first range of logical addresses not overlapping with the second range of logical addresses.

18. The storage device of claim 12 , wherein the controller is further configured to refrain from storing the second data in the first memory location during the RMW operation responsive to the first range of logical addresses not overlapping with the second range of logical addresses.

19. A storage device, comprising:

a memory including a first memory location and a second memory location, wherein the first memory location comprises one or more single level cells and the second memory location comprises one or more multiple level cells; and

means for storing first data associated with a first range of logical addresses in one of the first memory location or the second memory location during a read-modify-write (RMW) operation of second data associated with a second range of logical addresses, wherein the first data is stored in the first memory location in response to a determination that the first range of logical addresses overlaps with the second range of logical addresses, and the first data is stored in the second memory location in response to a determination that the first range of logical addresses does not overlap with the second range of logical addresses.

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 053482 FRAME 0453 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0279 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2020
From: SAXENA, VISHWAS; SONI, LALIT MOHAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 052961/0227 →
SECURITY INTEREST Recorded May 14, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053482/0453 →