Method and system for maintaining data coherency across a network
First Claim
Patent Images
1. A method of maintaining storage data coherency across a network, comprising:
- receiving, from a first host, a first read from network storage command associated with a first block of data stored by a storage server, wherein a second host is operable to cache the first block of data;
in response to the first read from network storage command, determining whether said first block of data requested by said first read from network storage command is cached by the second host by issuing a data command over an Internet Protocol (IP) network coupling the first host, the second host, and the storage server, wherein the data command is issued from the first host to the storage server without passing through the second host, and wherein the determination is based on the data command being intercepted by the second host;
in response to determining said first block of data is cached by said second host, causing said second host to write said first block of data; and
receiving at said first host said first block of data.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a coherent storage system. A network interface device (NIC) receives network storage commands from a host. The NIC may cache the data to/from the storage commands in a solid-state disk. The NIC may respond to future network storage command by supplying the data from the solid-state disk rather than initiating a network transaction. Other NIC'"'"'s on other hosts may also cache network storage data. These NICs may respond to transactions from the first NIC by supplying data, or changing the state of data in their caches.
-
Citations
17 Claims
-
1. A method of maintaining storage data coherency across a network, comprising:
-
receiving, from a first host, a first read from network storage command associated with a first block of data stored by a storage server, wherein a second host is operable to cache the first block of data; in response to the first read from network storage command, determining whether said first block of data requested by said first read from network storage command is cached by the second host by issuing a data command over an Internet Protocol (IP) network coupling the first host, the second host, and the storage server, wherein the data command is issued from the first host to the storage server without passing through the second host, and wherein the determination is based on the data command being intercepted by the second host; in response to determining said first block of data is cached by said second host, causing said second host to write said first block of data; and receiving at said first host said first block of data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A coherent network interface device, comprising:
-
a first interface configured to receive a first block storage command from a first host, said first block storage command associated with a first data block; a second interface configured to; send said first block storage command to a master storage server via an Internet Protocol (IP) network, receive said first data block and a first MESI state associated with said first data block from said storage server via the IP network, intercept a second block storage command associated with the first data block, wherein the second block storage command is sent from a second host to the master storage server via the IP network without being sent through the coherent network interface device, and provide the first data block in response to intercepting the second block storage command; a cache memory controller configured to store said first data block and said first MESI state in a cache memory and to retrieve said first data block from said cache memory in response to the second block storage command and said first MESI state. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
receiving, by a network interface device of a first host, a first data command for a block of data stored by a storage server; retrieving, by the first host, the block of data in response to the first data command; caching the block of data in a memory cache of the first host; intercepting by the first host, a second data command for the block of data, wherein the second data command is sent by a second host to the storage server via an Internet Protocol (IP) network, wherein the Internet Protocol (IP) network transmits the data command from the second host to the storage server without passing through the first host, and wherein the second host is different from the first host; and providing, by the first host, an indicator of a cache status of the block of data in the memory cache of the first host in response to the second data command. - View Dependent Claims (16, 17)
-
Specification