Intelligent input/output target device communication and exception handling
First Claim
1. A method for intelligent input/output message communication between a host computer and a target device, comprising:
- generating an intelligent input/output message request intended for the target device;
receiving the intelligent input/output message request;
translating the intelligent input/output message request into a silicon specific message request, the translating being performed by a host-resident intermediate service module;
storing the silicon specific message request into a first queue; and
pulling the silicon specific message request from the first queue via a PCI interface for processing by the target device.
10 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a computer implemented system, method and computer readable media for facilitating intelligent input/output (I2O) message communication between a host computer system and a silicon specific target device without implementing an input/output processor. The system is thus configured to make generic storage silicon appear as though it were an I2O capable device, without implementing an I/O processor and associated hardware. The system includes a block storage operating system module (OSM) for receiving a request from an operating system of the host computer system and generating an intelligent input/output message request. Also included is a host-resident intermediate service module driver (e.g., a RAID driver) for translating the intelligent input/output message request into a silicon specific request that is compatible with the silicon specific target device. Further included is a queue for holding the silicon specific request until the silicon specific target device pulls the silicon specific request from the queue via a PCI interface transport. In this implementation, the system also includes an exception handling operating system module (EOSM) driver that is in communication with the silicon specific target device and the block storage operating system module for efficiently handling event exceptions.
36 Citations
33 Claims
-
1. A method for intelligent input/output message communication between a host computer and a target device, comprising:
-
generating an intelligent input/output message request intended for the target device;
receiving the intelligent input/output message request;
translating the intelligent input/output message request into a silicon specific message request, the translating being performed by a host-resident intermediate service module;
storing the silicon specific message request into a first queue; and
pulling the silicon specific message request from the first queue via a PCI interface for processing by the target device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
pushing a message reply from the target device to the first queue via the PCI interface, such that the host-resident intermediate service module can translate a silicon specific reply into an intelligent input/output message reply; and
pushing the intelligent input/output message reply with a commensurate interrupt to a block storage operating system module.
-
-
3. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 2, further comprising:
-
monitoring the intelligent input/output message request, the monitoring being performed by an exception operating system module driver;
storing a copy of the intelligent input/output message request in a second queue; and
determining whether the intelligent input/output message reply was received successfully by the block storage operating system module.
-
-
4. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 3, further comprising:
-
if the intelligent input/output message reply was not successful for the block storage operating system module, the exception operating system module driver receives an event reply from the target device; and
invoking a hardware interface module-sequencer exception dialog for determining sequencer exceptions associated with the target device and attempting a correction of an error that caused the event reply.
-
-
5. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 4, further comprising:
-
building an exception reply on behalf of the host-resident intermediate service module, the building being performed by the exception operating system module driver; and
transferring the exception reply to the block storage operating system module for communication to an operating system of the host computer.
-
-
6. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 3, further comprising:
if the intelligent input/output message reply was received successfully by the block storage operating system module, the stored copy of the intelligent input/output message request is discarded from the second queue.
-
7. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 1, wherein the a silicon specific message request is one of a modified intelligent input/output request, a fixed function interface type request, and a SCSI command block (SCB) type request.
-
8. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 1, wherein the host-resident intermediate service module is target device driver.
-
9. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 7, wherein the target device driver is a RAID (redundant array of independent disk) driver.
-
10. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 1, wherein the target device is a silicon circuit having firmware for generating exception events.
-
11. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 4, wherein the event reply is one of a set of registered events known by the exception operating system module driver.
-
12. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 11, further comprising:
configuring the exception operating system module driver to be specific to the target device.
-
13. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 1, wherein the method is carried out without an input/output processor, and the host-resident intermediate service module is executed by a processor of the host computer system.
-
14. A method for intelligent input/output message communication between a host computer and a target device as recited in claim 13, wherein the host-resident intermediate service module is a RAID (redundant array of independent disk) driver.
-
15. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor, the system comprising:
-
a block storage operating system module for receiving a request from an operating system of the host computer system and generating an intelligent input/output message request;
a host-resident intermediate service module driver for translating the intelligent input/output message request into a silicon specific request that is compatible with the silicon specific target device; and
a queue for holding the silicon specific request until the silicon specific target device pulls the silicon specific request from the queue via a PCI interface transport. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
an exception operating system module driver in communication with the silicon specific target device and the block storage operating system module.
-
-
17. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 15, wherein the host-resident intermediate service module driver is configured to receive a reply from the queue that was push delivered to the queue by the silicon specific target device via the PCI interface transport.
-
18. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 16, wherein the exception operating system module driver is configured to observe and store a copy of the intelligent input/output message request.
-
19. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 18, wherein the exception operating system module driver is further configured to receive a push event reply from the silicon specific target device when an error occurs.
-
20. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 19, wherein when the error occurs, the exception operating system module driver is configured to invoke a hardware interface module-sequencer dialog for trouble shooting the error.
-
21. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 19, wherein when the error does not occur, the stored copy of the intelligent input/output message request is discarded.
-
22. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 16, wherein the host-resident intermediate service module driver is target device driver having an I2O target ID (TID).
-
23. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 22, wherein the target device driver is a redundant array of independent disk (RAID) driver.
-
24. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 16, wherein the exception operating system module driver is configured to build an exception reply for the block storage operating system module when an error occurs during processing by the silicon specific target device.
-
25. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 16, wherein the silicon specific target device is integrated into a host adapter that is interfaced with a peripheral device.
-
26. A computer implemented system for facilitating intelligent input/output message communication between a host computer system and a silicon specific target device without implementing an input/output processor as recited in claim 25, wherein the peripheral device is a SCSI device.
-
27. A system for facilitating I/O processor-less I2O message communication between a host computer and a silicon specific target device, the system comprising:
-
a block storage operating system module configured to communicate with an operating system (OS) of the host computer such that the block storage operating system module receives I/O requests that are processed into I2O message requests;
a host-resident intermediate service module being configured to pull the I2O message requests from the block storage operating system module and translate them into a silicon-specific format;
a queue for temporarily storing the I2O message requests that are in the silicon-specific format; and
a silicon-specific target device configured to pull the I2O message requests that are in the silicon-specific format from the queue and then process a reply. - View Dependent Claims (28, 29, 30, 31, 32, 33)
an exception operating system module driver that is in communication with the silicon-specific target device and the block storage operating system, the exception operating system module driver is configured to observe I2O message requests and store a copy of the I2O message requests.
-
-
29. A system for facilitating I/O processor-less I2O message communication between a host computer and a silicon specific target device as recited in claim 28, further comprising:
a hardware interface module-sequencer dialog for handling trouble shooting of an error experienced by the silicon-specific target device, the trouble shooting configured to perform register level write and read operations to detect and correct the error.
-
30. A system for facilitating I/O processor-less I2O message communication between a host computer and a silicon specific target device as recited in claim 29, wherein the exception operating system module driver is configured to generate an exception reply to the block storage operating system module when the error occurs.
-
31. A system for facilitating I/O processor-less I2O message communication between a host computer and a silicon specific target device as recited in claim 27, wherein the host-resident intermediate service module is a target device driver that is executed by a processor of the host computer system.
-
32. A system for facilitating I/O processor-less I2O message communication between a host computer and a silicon specific target device as recited in claim 31, wherein the target device driver is a RAID driver.
-
33. A system for facilitating I/O processor-less I2O message communication between a host computer and a silicon specific target device as recited in claim 31, wherein the silicon-specific format is selected from one of a modified I2O request format, an I2O FFI request format, and a SCB format.
Specification