Multiple command queues having separate interrupts
First Claim
Patent Images
1. A host device, comprising:
- a driver that is arranged and configured to communicate commands to a data storage device;
multiple pairs of queues, wherein each of the pairs of queues comprises;
a command queue that is populated with commands for retrieval by the data storage device, anda response queue that is populated with responses by the data storage device for retrieval by the host device, wherein each response queue is associated with an interrupt and an interrupt handler;
an application that is configured to generate input and output requests; and
an operating system that is operably coupled to the driver and to the application and that is configured to communicate the input and output requests between the application and the driver, wherein the application comprises an application command queue and an application response queue to enable the application to communicate specific command types directly with the data storage device such that the specific command types bypass the operating system and the driver and to enable the application to communicate other command types to the data storage device through the operating system and the driver.
2 Assignments
0 Petitions
Accused Products
Abstract
A host device may include a driver that is arranged and configured to communicate commands to a data storage device and multiple pairs of queues, where each of the pairs of queues may include a command queue that is populated with commands for retrieval by the data storage device and a response queue that is populated with responses by the data storage device for retrieval by the host device, where each response queue is associated with an interrupt and an interrupt handler.
189 Citations
18 Claims
-
1. A host device, comprising:
-
a driver that is arranged and configured to communicate commands to a data storage device; multiple pairs of queues, wherein each of the pairs of queues comprises; a command queue that is populated with commands for retrieval by the data storage device, and a response queue that is populated with responses by the data storage device for retrieval by the host device, wherein each response queue is associated with an interrupt and an interrupt handler; an application that is configured to generate input and output requests; and an operating system that is operably coupled to the driver and to the application and that is configured to communicate the input and output requests between the application and the driver, wherein the application comprises an application command queue and an application response queue to enable the application to communicate specific command types directly with the data storage device such that the specific command types bypass the operating system and the driver and to enable the application to communicate other command types to the data storage device through the operating system and the driver. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for communicating commands between a host and a data storage device, the method comprising:
-
using multiple different threads to communicate commands to a data storage device; using multiple pairs of queues, wherein each pair of queues includes a command queue, a response queue, an interrupt and an interrupt handler; associating each pair of the queues with one or more of the threads, wherein using the pairs of queues comprises; populating the command queue with commands for retrieval by the data storage device, and populating the response queue with responses by the data storage device for retrieval by a host device; and using an application to communicate specific command types directly with the data storage device such that the specific command types bypass an operating system on the host and a driver on the host and using the application to communicate other command types to the data storage device through the operating system on the host and the driver on the host. - View Dependent Claims (8, 9)
-
-
10. A system comprising:
-
a data storage device including a plurality of memory chips and multiple physical channels for communication of data between a host and the plurality of memory chips, each channel being operably connected to a different plurality of the memory chips; and a host operably coupled to the data storage device using an interface, the host comprising; a driver that is arranged and configured to communicate commands to the data storage device; multiple pairs of queues, wherein each of the pairs of queues comprises; a command queue that is populated with commands for retrieval by the data storage device, and a response queue that is populated with responses by the data storage device for retrieval by the host device, wherein each response queue is associated with an interrupt and an interrupt handler; an application that is configured to generate input and output requests; and an operating system that is operably coupled to the driver and to the application and that is configured to communicate the input and output requests between the application and the driver, wherein the application comprises an application command queue and an application response queue to enable the application to communicate specific command types directly with the data storage device such that the specific command types bypass the operating system and the driver and to enable the application to communicate other command types to the data storage device through the operating system and the driver. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification