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.