IP Library Granted Patent US 11,741,025
Granted Patent B2
US 11,741,025 · App. 17/178,401 · Granted Aug 29, 2023

Storage system and method for providing a dual-priority credit system

Inventors: Shay Benisty (Beer Sheva, IL); Ariel Navon (Revava, IL); Judah Gamliel Hahn (Ofra, IL); Alon Marcu (Tel Mond, IL)
Assignee: Western Digital Technologies, Inc.
G06F13/1605G06F9/546
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,741,025
App. No.
17/178,401
Granted
Aug 29, 2023
Kind
B2
Abstract

A storage system and method for providing a dual-priority credit system are disclosed. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to receive, from a host, a plurality of credits for sending messages to the host; allocate a first portion of the plurality of credits for non-urgent messages; and allocate a second portion of the plurality of credits for urgent messages. Other embodiments are provided.

Claims (42)

1. A storage system comprising:

a memory; and

a controller configured to:

receive, from a host, a plurality of credits for sending urgent messages and non-urgent messages from the storage system to the host;

initially allocate a first portion of the plurality of credits for sending non-urgent messages and a second portion of the plurality of credits for sending urgent messages;

dynamically increase a number of credits in the first portion in response to performance degradation of the storage system due to lack of credits for sending non-urgent messages, wherein the number of credits is dynamically increased by reallocating credits from the second portion to the first portion;

use a credit from the first portion to send an urgent message even though the credit from the first portion was allocated for sending non-urgent messages; and

return the credit to the first portion before a credit starvation issue occurs in which there is a shortage of credits available for sending a non-urgent message.

2. The storage system of claim 1 , wherein the controller is further configured to determine the number of credits in the first portion and the second portion.

3. The storage system of claim 1 , wherein the controller is further configured to determine the number of credits in the first portion and the second portion as a function of a total number of credits in the plurality of credits.

4. The storage system of claim 1 , wherein the controller is further configured to change the number of credits in the first portion and the second portion based on quality of service.

5. The storage system of claim 1 , wherein the controller is further configured to:

determine whether there are enough credits available for sending an urgent message to the host; and

in response to determining that there are enough credits available for sending the urgent message to the host, send the urgent message to the host.

6. The storage system of claim 5 , wherein the controller is further configured to re-adjust a configurable threshold to make the at least one of the credits available for sending the urgent message in response to determining that there are not enough credits available for sending the urgent message to the host.

7. The storage system of claim 1 , wherein the controller is further configured to:

determine whether there are enough credits available for sending a non-urgent message to the host; and

in response to determining that there are enough credits available for sending the non-urgent message, send the non-urgent message to the host.

8. The storage system of claim 1 , wherein the controller comprises:

a first first-in first-out (FIFO) buffer configured to store non-urgent messages; and

a second FIFO buffer configured to store urgent messages.

9. The storage system of claim 1 , wherein the controller comprises a medium access control (MAC) and physical layer interface (PHY) module configured to allocate the first portion and the second portion.

10. The storage system of claim 1 , wherein the urgent messages comprise a request to post a completion queue entry of an administration command.

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

12. The storage system of claim 1 , wherein the urgent messages comprise a request to fetch a command structure from an administration queue.

13. The storage system of claim 1 , wherein the urgent messages comprise a request to adjust a latency tolerance reporting mechanism.

14. The storage system of claim 1 , wherein the urgent messages comprise a request to post a completion interrupt.

15. A method comprising:

performing the following in a storage system comprising a memory:

receiving, from a host, a plurality of credits for sending urgent messages and non-urgent messages from the storage system to the host;

initially allocating a first portion of the plurality of credits for sending non-urgent messages and a second portion of the plurality of credits for sending urgent messages;

dynamically increasing a number of credits in the first portion in response to performance degradation of the storage system due to lack of credits for sending non-urgent messages, wherein the number of credits is dynamically increased by reallocating credits from the second portion to the first portion;

using a credit from the first portion to send an urgent message even though the credit from the first portion was allocated for sending non-urgent messages; and

returning the credit to the first portion before a credit starvation issue occurs in which there is a shortage of credits available for sending a non-urgent message.

16. The method of claim 15 , further comprising determining the number of credits in the first and second portions.

17. A storage system comprising:

a memory;

means for receiving, from a host, a plurality of credits for sending urgent messages and non-urgent messages from the storage system to the host;

means for initially allocating a first portion of the plurality of credits for sending non-urgent messages and a second portion of the plurality of credits for sending urgent messages;

means for dynamically increasing a number of credits in the first portion in response to performance degradation of the storage system due to lack of credits for sending non-urgent messages, wherein the number of credits is dynamically increased by reallocating credits from the second portion to the first portion;

means for using a credit from the first portion to send an urgent message even though the credit from the first portion was allocated for sending non-urgent messages; and

means for returning the credit to the first portion before a credit starvation issue occurs in which there is a shortage of credits available for sending a non-urgent message.

Assignments (11)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
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 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2021
From: BENISTY, SHAY; NAVON, ARIEL; HAHN, JUDAH GAMLIEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055372/0859 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2021
From: MARCU, ALON
To: WESTERN DIGITAL CORPORATION
Reel/Frame 055373/0144 →
Continuity (2)
Provisional Application 63119783 · Dec 1, 2020
Related Publication 20220171716A1 · Jun 2, 2022