I/O unit emulation
Abstract
In an example embodiment, a method of transferring data to or from an input/output unit across a network emulates a message passing protocol. A message sent from a host device to the input/output unit specifies the requested data transfer and is formatted in accordance with the message passing protocol. An emulation service software layer on the input/output unit translates the message into a corresponding series of data transfer operation instructions. The series of data transfer operation instructions have a different format than the format of the message passing protocol. The data transfer specified by the message is carried out by the operating system and hardware of a target device in the input/output unit using the series of data transfer operation instructions. After the data transfer is completed, a reply message is created in the emulation service software layer and the reply message is sent to the host device in a format according to the message passing protocol.
Claims
exact text as granted — not AI-modified1 . A method of transferring data to or from an input/output unit across a network, said method comprising:
sending a message from a host device to said input/output unit, said message specifying a requested data transfer and being formatted in accordance with a message passing protocol; in an emulation service software layer on said input/output unit, translating said message into a corresponding series of data transfer operation instructions, said series of data transfer operation instructions being of a format other than said message passing protocol; performing said data transfer specified by said message in the operating system and hardware of a target device in the input/output unit using said series of data transfer operation instructions; upon completion of the data transfer, creating a reply message in said emulation service software layer and sending said reply message to said host device in a format according to said message passing protocol.
2 . The method recited in claim 1 , wherein said series of data transfer operation instructions identifies and maps a set of buffers in the input/output unit which are utilized when performing the data transfer.
3 . The method recited in claim 2 , wherein the set of buffers are unmapped after the reply message is sent to said host device.
4 . The method recited in claim 1 , wherein the message specifying a requested data transfer is formatted in accordance with the message passing protocol by a module in the operating system of the host device.
5 . The method recited in claim 4 , wherein the operating system of the host device sends a completion notification to a user application utilizing a non-blocking, asynchronous usage model operating in kernel space.
6 . The method recited in claim 5 , wherein the data transfer is made over a virtual interface of the network.
7 . The method recited in claim 6 , wherein the message passing protocol is compliant with Version 1.5 of I 2 O .
8 . An input/output unit connected to a host device across a network, said input/output unit configured to carry out a data transfer method in response to a message from the host device comprising:
receiving a message sent from a host device, said message specifying a requested data transfer and being formatted in accordance with a message passing protocol; in an emulation service software layer, translating said message into a corresponding series of data transfer operation instructions, said series of data transfer operation instructions being of a format other than said message passing protocol; performing said data transfer specified by said message in the operating system and hardware of a target device using said series of data transfer operation instructions; upon completion of the data transfer, creating a reply message in said emulation service software layer and sending said reply message to said host device in a format according to said message passing protocol.
9 . The input/output unit recited in claim 8 , wherein said series of data transfer operation instructions identifies and maps a set of buffers which are utilized when performing the data transfer.
10 . The input/output unit recited in claim 9 , wherein the set of buffers are unmapped after the reply message is sent to said host device.
11 . The input/output unit recited in claim 8 , wherein the data transfer is made over a virtual interface between the input/output unit and the network.
12 . The input/output unit recited in claim 11 , wherein the data is transferred directly between the input/output unit and the memory of a host device over a virtual interface without making an intermediate copy of the data.
13 . The input/output unit recited in claim 12 , wherein the input/output unit further comprises a software stack having transport layers to effectuate the transfer of data across the network and the translation of the message is transparent to the transport layers.
14 . The input/output unit recited in claim 13 , wherein the input/output unit comprises a storage adapter having a plurality of block storage data recording media.
15 . A tangible medium storing a plurality of program instructions, said program instructions causing an input/output unit to transfer data with a host device across a network, the data transfer comprising:
receiving a message sent from a host device, said message specifying a requested data transfer and being formatted in accordance with a message passing protocol; in an emulation service software layer, translating said message into a corresponding series of data transfer operation instructions, said series of data transfer operation instructions being of a format other than said message passing protocol; performing said data transfer specified by said message in the operating system and hardware of a target device using said series of data transfer operation instructions; upon completion of the data transfer, creating a reply message in said emulation service software layer and sending said reply message to said host device in a format according to said message passing protocol.
16 . The tangible medium recited in claim 15 , wherein said series of data transfer operation instructions identifies and maps a set of buffers in the input/output unit which are utilized when performing the data transfer.
17 . The tangible medium recited in claim 16 , wherein the set of buffers are unmapped after the reply message is sent to said host device.
18 . The tangible medium recited in claim 15 , wherein the data transfer is made over a virtual interface between the input/output unit and the network.
19 . The tangible medium recited in claim 18 , wherein the data is transferred directly between the input/output unit and the memory of a host device over a virtual interface without making an intermediate copy of the data.
20 . The tangible medium recited in claim 19 , wherein the input/output unit further comprises a software stack having transport layers to effectuate the transfer of data across the network and the translation of the message is transparent to the transport layers.
21 . A tangible medium storing a plurality of program instructions, said program instructions for translating a message sent from a host device, said message specifying a requested data transfer and being formatted in accordance with a message passing protocol, into a corresponding series of data transfer operation instructions, said series of data transfer operation instructions being of a format other than said message passing protocol.
22 . The tangible medium recited in claim 21 , further storing a plurality of programming instructions for creating a reply message and sending said reply message to said host device in a format according to said message passing protocol.Join the waitlist — get patent alerts
Track US2002168966A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.