IP Library Granted Patent US 10,048,876
Granted Patent B2
US 10,048,876 · App. 14/850,802 · Granted Aug 14, 2018

Method for providing nonvolatile storage write bandwidth using a caching namespace

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,048,876
App. No.
14/850,802
Granted
Aug 14, 2018
Kind
B2
Abstract

An apparatus for implementing an enhanced-write-bandwidth caching stream includes a memory that stores machine instructions and a processor that executes the machine instructions. The apparatus receives a first host write stream and a second host write stream that comprises latency-sensitive host write requests. The apparatus also subjects the first host write stream to host-write throttling, and exempts the second host write stream from host-write throttling. The apparatus further requires that the second host write stream invalidate logical blocks in an order corresponding to a previous order in which the respective logical blocks were previously programmed.

Claims (37)

1. An apparatus for implementing an enhanced-write-bandwidth caching stream, the apparatus comprising:

a processor; and

a memory storing machine instructions thereon that, when executed by the processor, configure the processor to:

receive a first host write stream in a first address space and a second host write stream, different from the first host write stream, comprising latency-sensitive host write requests in a second address space comprising a logical namespace;

determine a total currently available memory space for programming associated with the first address space and the second address space;

determine a memory space available for programming in the first address space based on a difference between the total available space and a memory space available for programming in the second address space;

compare the memory space available for programming in the first address space with a predetermined threshold;

subject, based on the available memory space not exceeding the threshold, the first host write stream to host-write throttling by reducing a first throughput of the first host write stream, while permitting an unthrottled throughput of the second host write stream,

invalidate logical blocks associated with the second host write stream in an order corresponding to a previous order in which the respective logical blocks were previously programmed.

2. The apparatus of claim 1 , wherein the machine instructions, when executed, further configure the processor to require the second host write stream program the logical blocks in a sequential order.

3. The apparatus of claim 1 , wherein the machine instructions, when executed, further configure the processor to require the second host write stream invalidate a previously-programmed logical block address in the second address space before an available space of memory cells currently available for programming associated with the second address space reaches zero.

4. The apparatus of claim 1 , wherein to exempt the second host write stream from host-write throttling the machine instructions, when executed, further configure the processor to determine second available space of memory cells currently available for programming associated with the second address space, and permit an unthrottled throughput of the second host write stream while the second available space is greater than zero.

5. The apparatus of claim 1 , wherein the machine instructions, when executed, further configure the processor to store the first host write stream in the first address space and store the second host write stream in the second address space.

6. The apparatus of claim 5 , wherein to store the first host write stream in the first address space the machine instructions, when executed, further configure the processor to combine the first host write stream with a reclamation write stream to form an aggregate write stream, and store the aggregate write stream in the first address space.

7. The apparatus of claim 1 , wherein the machine instructions, when executed, further configure the processor to reserve an additional quantity of data blocks to the second address space, wherein the additional quantity of data blocks is equal to that over which garbage collection activities are coordinated and is not visible to a host that generates the first host write stream and the second host write stream.

8. An apparatus for implementing an enhanced-write-bandwidth caching stream, the apparatus comprising:

a processor; and

a memory storing machine instructions thereon that, when executed by the processor, configure the processor to:

divide a stream of host write requests into a first host write stream comprising host write requests in a first address space and a second host write stream in a second address space different than the first address space;

determine a total currently available memory space for programming associated with the first address space and the second address space;

determine a memory space available for programming in the first address space based on a difference between the total available space and a memory space available for programming in the second address space;

compare memory space available for programming in the first address space with a predetermined threshold;

subject, based on the available memory space not exceeding the threshold, the first host write stream to host-write throttling by reducing a first throughput of the first host write stream, while permitting an unthrottled throughput of the second host write stream,

invalidate logical blocks corresponding to the second host write stream in an order corresponding to a previous order in which the respective logical blocks were previously programmed.

9. The apparatus of claim 8 , wherein the machine instructions, when executed, further configure the processor to program the logical blocks corresponding to the second host write stream in a sequential order.

10. The apparatus of claim 8 , wherein the machine instructions, when executed, further configure the processor to invalidate a previously-programmed logical block address in the second address space before an available space of memory cells currently available for programming associated with the second address space reaches zero.

11. A computer-implemented method for implementing an enhanced-write-bandwidth caching stream, the method comprising:

receiving a first host write stream and a second host write stream comprising host write requests;

storing the first host write stream in a first address space;

storing the second host write stream in a second address space comprising a logical namespace;

determine a total currently available memory space for programming associated with a first address space and the second address space;

determine a memory space available for programming in the first address space based on a difference between the total available space and a memory space available for programming in the second address space;

compare memory space available for programming in the first address space with a predetermined threshold;

subjecting, based on the available memory space not exceeding the threshold, a first host write stream in the first address space to host-write throttling by reducing a first throughput of the first host write stream, while permitting an unthrottled throughput of the second host write stream; and

invalidating logical block addresses corresponding to the second address space in an order corresponding to a previous order in which the respective logical blocks were previously programmed.

12. The method of claim 11 , further comprising requiring logical block addresses corresponding to the second address space be programmed in a sequential order.

13. The method of claim 11 , further comprising requiring a previously-programmed logical block address in the second address space be invalidated before an available space of memory cells currently available for programming associated with the second address space reaches zero.

Assignments (12)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2015
From: ESPESETH, ADAM MICHAEL; MCCAMBRIDGE, COLIN CHRISTOPHER; DREYER, DAVID GEORGE
To: HGST NETHERLANDS B.V.
Reel/Frame 036536/0773 →