System and Method for I/O Optimization in a Multi-Queued Environment
First Claim
1. A host comprising:
- a memory storing a plurality of command queues and a plurality of queues; and
a controller in communication with the memory and configured to;
sort a plurality of commands into the plurality of queues, wherein a command is sorted based on its data characteristic;
receive a read request from a storage module for commands in the plurality of queues; and
provide the storage module with the requested commands.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for I/O optimization in a multi-queued environment are provided. In one embodiment, a host is provided that sorts commands into a plurality of queues, wherein a command is sorted based on its data characteristic. The host receives a read request from a storage module for commands in the plurality of queues and provides the storage module with the requested commands. In another embodiment, a storage module is provided that processes commands from a host based on the data characteristic of the queue that stored the command on the host. In another embodiment, a storage module sorts command completions into a plurality of queues, wherein a command completion is sorted based on its resulting status code.
-
Citations
30 Claims
-
1. A host comprising:
-
a memory storing a plurality of command queues and a plurality of queues; and a controller in communication with the memory and configured to; sort a plurality of commands into the plurality of queues, wherein a command is sorted based on its data characteristic; receive a read request from a storage module for commands in the plurality of queues; and provide the storage module with the requested commands. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage module comprising
a memory; - and
a processor in communication with the memory and configured to; receive a plurality of commands from a host, wherein the host stores the plurality of commands in a plurality of queues, wherein a command is sorted into a queue based on its data characteristic; and process the commands using a priority system based on data characteristics of the queues storing the commands. - View Dependent Claims (8, 9, 10, 11, 12, 13)
- and
-
14. A storage module comprising
a memory; - and
a processor in communication with the memory and configured to; generate a plurality of completions; and submit the plurality of completions to a plurality of queues in a host, wherein a completion is sorted into a queue based on its status; - View Dependent Claims (15)
- and
-
16. A method for providing a storage module with requested commands, the method comprising:
performing the following in a host comprising a memory storing a plurality of command queues and a plurality of queues; sorting a plurality of commands into the plurality of queues, wherein a command is sorted based on its data characteristic; receiving a read request from a storage module for commands in the plurality of queues; and providing the storage module with the requested commands. - View Dependent Claims (17, 18, 19, 20, 21)
-
22. A method for processing commands, the method comprising:
performing the following in a storage module comprising a memory; receiving a plurality of commands from a host, wherein the host stores the plurality of commands in a plurality of queues, wherein a command is sorted into a queue based on its data characteristic; and processing the commands using a priority system based on data characteristics of the queues storing the commands. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
29. A method of submitting a plurality of completions, the method comprising:
-
performing the following in a storage module comprising a memory; generating a plurality of completions; and submitting the plurality of completions to a plurality of queues in a host, wherein a completion is sorted into a queue based on its status; - View Dependent Claims (30)
-
Specification