IP Library Patent Application 15148409
Patent Application
App. No. 15/148,409

SYSTEMS AND METHODS FOR PROCESSING A SUBMISSION QUEUE

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 None
App. No.
15/148,409
Abstract

A data storage device includes a memory and a controller coupled to the memory. The controller is configured to select a submission queue from a set of submission queues of an access device based at least in part on availability of space in a completion queue of the access device.

Claims (36)

1 . A data storage device comprising:

a memory; and

a controller coupled to the memory, the controller configured to select a submission queue from a set of submission queues of an access device based at least in part on availability of space in a completion queue of the access device.

2 . The data storage device of claim 1 , wherein each submission queue of the set of submission queues is non-empty, and wherein the submission queue is selected based on determining that the completion queue is not full.

3 . The data storage device of claim 1 , wherein the controller is further configured to, subsequent to accessing the submission queue, update completion queue information.

4 . The data storage device of claim 3 , wherein the controller is further configured to determine that the completion queue has available space based on the completion queue information.

5 . The data storage device of claim 3 , wherein the controller is further configured to:

determine a next completion queue tail pointer value based on the completion queue information; and

determine that the completion queue has available space based on determining that the next completion queue tail pointer value is distinct from a completion queue head pointer value of the completion queue.

6 . The data storage device of claim 3 , wherein the controller is configured to update the completion queue information to indicate that a portion of the completion queue is reserved to store a completion queue entry corresponding to a submission queue entry of the submission queue.

7 . The data storage device of claim 1 , wherein the controller is further configured to, subsequent to performing a command corresponding to a submission queue entry of the submission queue:

add a completion queue entry to the completion queue; and

update a second completion queue tail pointer value of the completion queue.

8 . The data storage device of claim 1 , wherein the controller includes a submission queue register, and wherein the controller is further configured to select the submission queue in response to detecting an update, from the access device, of the submission queue register.

9 . The data storage device of claim 1 , wherein the controller includes a completion queue register, and wherein the controller is further configured to select the submission queue in response to detecting an update, from the access device, of the completion queue register.

10 . A method performed by a controller of a data storage device, the method comprising:

selecting a submission queue of a set of submission queues of an access device based at least in part on availability of space in a completion queue of the access device; and

accessing the submission queue.

11 . The method of claim 10 , wherein each submission queue of the set of submission queues is non-empty, and wherein the submission queue is selected based on determining that the completion queue is not full.

12 . The method of claim 10 , further comprising, in response to accessing the submission queue, updating completion queue information to indicate that a portion of the completion queue is unavailable.

13 . The method of claim 12 , further comprising determining that the completion queue has available space based on the completion queue information.

14 . The method of claim 10 , further comprising:

determining a next completion queue tail pointer value based on completion queue information; and

in response to determining that the next completion queue tail pointer value is distinct from a completion queue head pointer value of the completion queue, determining that the completion queue has available space.

15 . The method of claim 10 , further comprising, subsequent to performing a command corresponding to a submission queue entry of the submission queue:

adding a completion queue entry to the completion queue; and

updating a second completion queue tail pointer value of the completion queue.

16 . A device comprising:

a memory; and

a controller coupled to the memory, the controller configured to maintain completion queue information, to determine availability of space of a completion queue of an access device based on the completion queue information, and to select a submission queue from a set of submission queues of the access device based at least in part on the availability of space of the completion queue.

17 . The device of claim 16 , wherein the controller is further configured to, in response to accessing a submission queue entry of the submission queue, update the completion queue information to indicate that a portion of the completion queue is reserved to store a completion queue entry corresponding to the submission queue entry.

18 . The device of claim 16 , wherein the controller is further configured to, in response to performing a command corresponding to a submission queue entry of the submission queue, add a completion queue entry to the completion queue.

19 . The device of claim 16 , further comprising:

a submission queue filter configured to select a subset of submission queues from the set of submission queues in response to determining that each submission queue of the subset of submission queues has a corresponding completion queue that is not full; and

an arbiter configured to, in response to receiving availability data from the submission queue filter indicating the subset of submission queues, select the submission queue from the subset of submission queues based on a selection policy.

20 . The device of claim 19 , wherein the selection policy includes at least one of a round robin selection policy, a weighted round robin selection policy, a priority-based selection policy, or a combination thereof.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2017
From: SANDISK TECHNOLOGIES LLC
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 041930/0254 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: BENISTY, SHAY; SHARIFIE, TAL
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038635/0670 →