System and method for out of user space block mode I/O directly between an application instance and an I/O adapter
First Claim
1. A method, in an input/output (I/O) adapter coupled to a host system running an application instance, comprising:
- retrieving, in the I/O adapter, a work queue entry from a work queue associated with the application instance and the I/O adapter;
identifying, in the I/O adapter, a permitted type of access of a portion of a storage device targeted by the work queue entry;
performing, in the I/O adapter, validation checks on the work queue entry based on the permitted type of access of the portion of the storage device targeted by the work queue entry; and
processing, in the I/O adapter, the work queue entry only if the validation checks on the work queue entry are completed successfully.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a system, method, and computer program product that enables application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. Specifically, a mechanism for providing and using a linear block address (LBA) translation protection table (TPT) to control out of user space I/O operations is provided. In one aspect of the present invention, the LBATPT includes an adapter protection table that has entries for each portion of a storage device. Entries include access control values which identify whether the entry is valid and what access type operations may be performed on a corresponding portion of a storage device. I/O requests may be checked against these access control values to determine if an application instance that submitted the I/O requests may access the LBAs identified in the I/O requests in the manner requested.
127 Citations
20 Claims
-
1. A method, in an input/output (I/O) adapter coupled to a host system running an application instance, comprising:
-
retrieving, in the I/O adapter, a work queue entry from a work queue associated with the application instance and the I/O adapter;
identifying, in the I/O adapter, a permitted type of access of a portion of a storage device targeted by the work queue entry;
performing, in the I/O adapter, validation checks on the work queue entry based on the permitted type of access of the portion of the storage device targeted by the work queue entry; and
processing, in the I/O adapter, the work queue entry only if the validation checks on the work queue entry are completed successfully. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product comprising a computer useable medium having a computer readable program, wherein the computer readable program, when executed on an input/output (I/O) adapter coupled to a host system running an application instance, causes the I/O adapter to:
-
retrieve a work queue entry from a work queue associated with the application instance and the I/O adapter;
identify a permitted type of access of a portion of a storage device targeted by the work queue entry;
perform validation checks on the work queue entry based on the permitted type of access of the portion of the storage device targeted by the work queue entry; and
process the work queue entry only if the validation checks on the work queue entry are completed successfully. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A data processing system, comprising:
-
a host system; and
an input/output (I/O) adapter coupled to the host system, wherein the host system runs an application instance, and wherein the I/O adapter;
retrieves a work queue entry from a work queue associated with the application instance and the I/O adapter;
identifies a permitted type of access of a portion of a storage device targeted by the work queue entry;
performs validation checks on the work queue entry based on the permitted type of access of the portion of the storage device targeted by the work queue entry; and
processes the work queue entry only if the validation checks on the work queue entry are completed successfully.
-
Specification