Acceleration of receive data throughput of a usb device
AssigneeMoschip Semiconductor Technology Limited
InventorsAbhijit Shashikant Mirajkar, Milton Joseph Fernandes
Life of this patent
Estimating the term…
Abstract
This invention proposes a procedure by which one or more number of IRPs (IO Request Packets) can be always kept pending with the USB Host controller in order to get the incoming data as soon as it arrives. When data arrives the USB Host Controller and driver will complete the IRP Request and the USB Client driver will buffer this data if there is no READ request pending from the application layer; else it will complete the application requests with data received from the device.
Claims27
A method to reduce time for which data stays with hardware in a USB subsystem in a windows operating system environment, the method comprising the steps of:
- a) a USB client driver creating IO Request Packets (IRPs) to receive data from device through a USB host controller;
- b) said USB client driver submitting IRPs to said USB subsystem to read any incoming data from a device;
- c) having at least one IRP pending to receive any incoming data from the device;
- d) copying data into a container buffer, when an IRP is completed;
- and
- e) re-submitting IRP back to USB subsystem.
A method to receive data from a device through USB in a Bulk mode and reduce time for which data stays with hardware in a windows operating system environment, the method comprising the steps of:
- a) a USB client driver creating a pool of IRPs to be used for reading incoming data from a USB host controller;
- b) creating a non-paged buffer per device to receive data, where said non-paged buffer serves as container buffer for incoming data from said device;
- c) said USB client driver creating IRPs to receive data from device through a USB host controller;
- d) said USB client driver submitting created IRPs to said USB host controller to read any incoming data from a device;
- e) having at least one IRP pending to receive any incoming data from said device;
- f) copying data into a container buffer, when an IRP is completed;
- and
- g) re-submitting IRP back to USB subsystem.
A computer readable medium comprising instructions to perform a method to receive data from a device through USB in a Bulk mode and reduce time for which data stays with hardware in a windows operating system environment, the computer readable medium comprising instructions to perform the steps of:
- a) a USB client driver creating a pool of IRPs to be used for reading incoming data from a USB host controller;
- b) creating a non-paged buffer per device to receive data, where said non-paged buffer serves as container buffer for incoming data from said device;
- c) said USB client driver creating IRPs to receive data from device through a USB host controller;
- d) said USB client driver submitting created IRPs to said USB host controller to read any incoming data from a device;
- e) having at least one IRP pending to receive any incoming data from said device;
- f) copying data into a container buffer, when an IRP is completed;
- and
- g) re-submitting IRP back to USB subsystem.
A computer to perform a method to receive data from a device through USB in a Bulk mode and reduce time for which data stays with hardware in a windows operating system environment, the computer comprising of:
- a) a USB host controller to control client drivers;
- b) at least one USB client driver means to create a pool of IRPs to be used for reading incoming data from at least one device, where said data from said at least one device is read through said host controller, and where said client driver is adapted to keep at least one IRP pending with said host controller to receive data coming from said at least one device;
- and
- c) a container non-paged buffer per said at least one device, to contain incoming data from said at least one device.
Dependencies are inferred from the claim text.