System and method for file based I/O directly between an application instance and an I/O adapter
First Claim
1. A computer program product comprising a computer usable medium having a computer readable program, wherein the computer readable program, when executed on an input/output (I/O) adapter, causes the I/O adapter to:
- receive, from a queue of an application instance, in response to a file name based I/O request generated by the application instance, the file name based I/O request including one or more file name based work requests, a doorbell message identifying a number of work requests to be added to a processing queue of the I/O adapter;
generate a processing queue entry in the processing queue of the I/O adapter based on the number of work requests to be added to the processing queue identified in the doorbell message; and
process at least one work request in the application instance'"'"'s queue based on the processing queue entry in the processing queue of the I/O adapter.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method, and computer program product that enables user space middleware or applications to pass file name based storage requests directly to a physical I/O adapter without run-time involvement from the local Operating System (OS) are provided. A mechanism is provided for using a file protection table (FPT) data structure, which may include a file name protection table (FNPT) and file extension protection table (FEPT), to control user space and out of user space Input/Output (I/O) operations. In addition, a doorbell message and processing queue mechanism are provided for notifying the I/O adapter of work requests to be processed by the I/O adapter.
121 Citations
20 Claims
-
1. A computer program product comprising a computer usable medium having a computer readable program, wherein the computer readable program, when executed on an input/output (I/O) adapter, causes the I/O adapter to:
-
receive, from a queue of an application instance, in response to a file name based I/O request generated by the application instance, the file name based I/O request including one or more file name based work requests, a doorbell message identifying a number of work requests to be added to a processing queue of the I/O adapter;
generate a processing queue entry in the processing queue of the I/O adapter based on the number of work requests to be added to the processing queue identified in the doorbell message; and
process at least one work request in the application instance'"'"'s queue based on the processing queue entry in the processing queue of the I/O adapter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus, comprising:
-
a processor; and
a memory coupled to the processor, wherein the memory includes instructions which, when executed by the processor, cause the processor to;
receive, from a queue of an application instance, in response to a file name based I/O request generated by the application instance, the file name based I/O request including one or more file name based work requests, a doorbell message identifying a number of work requests to be added to a processing queue of the I/O adapter;
generate a processing queue entry in the processing queue of the I/O adapter based on the number of work requests to be added to the processing queue identified in the doorbell message; and
process at least one work request in the application instance'"'"'s queue based on the processing queue entry in the processing queue of the I/O adapter. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A method, in a data processing device, for processing a work request, comprising:
-
receive, from a queue of an application instance, in response to a file name based I/O request generated by the application instance, the file name based I/O request including one or more file name based work requests, a doorbell message identifying a number of work requests to be added to a processing queue of the I/O adapter;
generate a processing queue entry in the processing queue of the I/O adapter based on the number of work requests to be added to the processing queue identified in the doorbell message; and
process at least one work request in the application instance'"'"'s queue based on the processing queue entry in the processing queue of the I/O adapter.
-
Specification