Method and apparatus for write-back caching with minimal interrupts
First Claim
1. A method of write-back caching in a data storage system, comprising the steps of:
- receiving a write request in a first I/O node from a compute node, the write request including write data;
forwarding the write data from the first I/O node to a second I/O node; and
sending an acknowledgment message to the compute node from the second I/O node.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for write-back caching in a data storage and processing system has been described. The method comprises the steps of receiving a write request including write data from a compute node in a first I/O node, forwarding the write data from the first I/O node to a second I/O node, and sending an acknowledgment message to the compute node from the second I/O node after the write data is received by the second I/O node. After the data is written into non-volatile storage of the first I/O node, a purge request or command is sent to the second I/O node to purge the write data from the volatile memory of the second I/O node. In one embodiment, the purge request is not sent until the first I/O node receives a second write request, in which case, the purge request is sent in the same interrupt as the write data for the second write request. The processing system comprises a first and a second I/O node, each with means for receiving a write request from the compute node and forwarding that write data to the other I/O node. Each I/O node also comprises a means for sending an acknowledgment message back to the compute node directly, without sending the acknowledgment through the I/O node that sent the write data. The result is an I/O protocol that reduces the number of interrupts required to store data, while still implementing write back caching to improve storage speed and turnaround. The invention also can be described in terms of a program storage device, such as a hard disk, floppy disk, or a CD, which tangibly embodies instructions stored thereon for performing the instructions to practice the invention.
226 Citations
18 Claims
-
1. A method of write-back caching in a data storage system, comprising the steps of:
-
receiving a write request in a first I/O node from a compute node, the write request including write data;
forwarding the write data from the first I/O node to a second I/O node; and
sending an acknowledgment message to the compute node from the second I/O node. - View Dependent Claims (2, 3, 4, 5, 6, 7)
a network for connecting the compute nodes and I/O nodes via a plurality of network input ports and a plurality of network output ports, the network comprising a plurality of switch nodes arranged into more than g(logbN) switch node stages, wherein b is a total number of switch node input/output ports, N is a total number of network input/output ports, and g(x) indicates a ceiling function providing the smallest integer not less than the argument x, the switch node stages thereby providing a plurality of paths between any network input port and network output port, the switch node stages being configured to provide a plurality of bounceback points at a highest switch node stage of the network, the bounceback points logically differentiating between switch nodes that load balance messages through the network from switch nodes that direct messages within the network.
-
-
8. An apparatus for write-back caching in a data storage system, comprising:
-
means for receiving a write request in a first I/O node from a compute node, the write request including write data;
means for forwarding the write data from the first I/O node to the second I/O node; and
means for sending an acknowledgment message to the compute node from the second I/O node. - View Dependent Claims (9, 10, 11, 12, 13)
means for determining when the write data is stored in a non-volatile storage in the first I/O node; - and
means for sending the purge request when the write data is stored in the non-volatile storage.
-
-
11. The apparatus of claim 9, further comprising:
-
means for determining when a second write request is received; and
means for sending the purge request to the second I/O node with the second write request.
-
-
12. The apparatus of claim 8, wherein the compute node and the first I/O node and the second I/O node are communicatively coupled via an interconnect fabric.
-
13. The apparatus of claim 8, wherein the compute node is coupled to the first I/O node and the second I/O node via an interconnect fabric, wherein the interconnect fabric comprises:
a network for connecting the compute nodes and I/O nodes via a plurality of network input ports and a plurality of network output ports, the network comprising a plurality of switch nodes arranged into more than g(logbN) switch node stages, wherein b is a total number of switch node input/output ports, N is a total number of network input/output ports, and g(x) indicates a ceiling function providing the smallest integer not less than the argument x, the switch node stages thereby providing a plurality of paths between any network input port and network output port, the switch node stages being configured to provide a plurality of bounceback points at a highest switch node stage of the network, the bounceback points logically differentiating between switch nodes that load balance messages through the network from switch nodes that direct messages within the network.
-
14. A program storage device, readable by a computer, tangibly embodying one or more programs of instructions executable by the computer to perform method steps of write back caching in a data storage system, the method comprising the steps of:
-
receiving a write request in a first I/O node from a compute node, the write request including write data;
forwarding the write data from the first I/O node to the second I/O node; and
sending an acknowledgment message to the compute node from the second I/O node. - View Dependent Claims (15, 16, 17, 18)
-
Specification