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, wherein;
identifying a permitted type of access of a portion of the storage device comprises retrieving an adapter protection table entry, from an adapter protection table data structure, corresponding to the work queue entry,processing the work queue entry comprises retrieving a linear block address table entry, from a linear block address table data structure, corresponding to the adapter protection table entry and accessing a portion of a storage device associated with the adapter protection table entry, based on a linear block address range specified in the linear block address table entry,the adapter protection table data structure and linear block address table data structure are stored in the I/O adapter, andif the adapter protection table entry is part of a segment not present in the adapter protection table data structure in the I/O adapter, the segment is retrieved from a protection table data structure of a system image of the host system and loaded into the adapter protection table data structure of the I/O adapter.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method 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.
118 Citations
8 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, wherein; identifying a permitted type of access of a portion of the storage device comprises retrieving an adapter protection table entry, from an adapter protection table data structure, corresponding to the work queue entry, processing the work queue entry comprises retrieving a linear block address table entry, from a linear block address table data structure, corresponding to the adapter protection table entry and accessing a portion of a storage device associated with the adapter protection table entry, based on a linear block address range specified in the linear block address table entry, the adapter protection table data structure and linear block address table data structure are stored in the I/O adapter, and if the adapter protection table entry is part of a segment not present in the adapter protection table data structure in the I/O adapter, the segment is retrieved from a protection table data structure of a system image of the host system and loaded into the adapter protection table data structure of the I/O adapter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification