Validation of data written via two different bus interfaces to a dual server based storage controller
AssigneeInternational Business Machines Corporation
InventorsKyler A. Anderson, Kevin J. Ash, Lokesh M. Gupta, Matthew J. Kalos
Life of this patent
Estimating the term…
Abstract
A first server of a storage controller is configured to communicate with a host via a first bus interface, and a second server of the storage controller is configured to communicate with the host via a second bus interface. Data is written from the host via the first bus interface to a cache of the first server and via the second bus interface to a non-volatile storage of the second server. The data stored in the cache of the first server is periodically compared to the data stored in the non-volatile storage of the second server.
Claims15
A method, comprising:
- configuring a first server of a storage controller to communicate with a host via a first bus interface, and configuring a second server of the storage controller to communicate with the host via a second bus interface;
- writing data via a syncio process from the host via the first bus interface to a cache of the first server and via the second bus interface to a non-volatile storage of the second server;
- and
- periodically comparing the data stored in the cache of the first server to the data stored in the non-volatile storage of the second server, wherein the syncio process allows the host to hold an application thread in a spin loop waiting for a write operation to complete;
- and
- in response to the data stored in the cache of the first server matching the data stored in the non-volatile storage of the second server during the comparing, continuing to operate both the first server and the second server.
A method, comprising:
- configuring a first server of a storage controller to communicate with a host via a first bus interface, and configuring a second server of the storage controller to communicate with the host via a second bus interface;
- writing data via a syncio process from the host via the first bus interface to a cache of the first server and via the second bus interface to a non-volatile storage of the second server;
- and
- periodically comparing the data stored in the cache of the first server to the data stored in the non-volatile storage of the second server, wherein the syncio process allows the host to hold an application thread in a spin loop waiting for a write operation to complete, wherein a likelihood of an error in writing identical data to the cache of the first server and the non-volatile storage of the second server is greater when the identical data is attempted to be written from the host to the first server and the second server over the first bus interface and the second bus interface, than over a network interface.
A system communicatively coupled to a host, the system comprising:
- a memory;
- and
- a processor coupled to the memory, wherein the processor performs operations, the operations performed by the processor comprising:
- configuring a first server to communicate with the host via a first bus interface, and configuring a second server to communicate with the host via a second bus interface;
- writing data via a syncio process from the host via the first bus interface to a cache of the first server and via the second bus interface to a non-volatile storage of the second server;
- periodically comparing the data stored in the cache of the first server to the data stored in the non-volatile storage of the second server, wherein the syncio process allows the host to hold an application thread in a spin loop waiting for a write operation to complete;
- and
- in response to the data stored in the cache of the first server matching the data stored in the non-volatile storage of the second server during the comparing, continuing to operate both the first server and the second server.
A system communicatively coupled to a host, the system comprising:
- a memory;
- and
- a processor coupled to the memory, wherein the processor performs operations, the operations performed by the processor comprising:
- configuring a first server to communicate with the host via a first bus interface, and configuring a second server to communicate with the host via a second bus interface;
- writing data via a syncio process from the host via the first bus interface to a cache of the first server and via the second bus interface to a non-volatile storage of the second server;
- and
- periodically comparing the data stored in the cache of the first server to the data stored in the non-volatile storage of the second server, wherein the syncio process allows the host to hold an application thread in a spin loop waiting for a write operation to complete, wherein a likelihood of an error in writing identical data to the cache of the first server and the non-volatile storage of the second server is greater when the identical data is attempted to be written from the host to the first server and the second server over the first bus interface and the second bus interface, than over a network interface.
A computer program product, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform operations, the operations comprising:
- configuring a first server of a storage controller to communicate with a host via a first bus interface, and configuring a second server of the storage controller to communicate with the host via a second bus interface;
- writing data via a syncio process from the host via the first bus interface to a cache of the first server and via the second bus interface to a non-volatile storage of the second server;
- periodically comparing the data stored in the cache of the first server to the data stored in the non-volatile storage of the second server, wherein the syncio process allows the host to hold an application thread in a spin loop waiting for a write operation to complete;
- and
- in response to the data stored in the cache of the first server matching the data stored in the non-volatile storage of the second server during the comparing, continuing to operate both the first server and the second server.
A computer program product, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform operations, the operations comprising:
- configuring a first server of a storage controller to communicate with a host via a first bus interface, and configuring a second server of the storage controller to communicate with the host via a second bus interface;
- writing data via a syncio process from the host via the first bus interface to a cache of the first server and via the second bus interface to a non-volatile storage of the second server;
- and
- periodically comparing the data stored in the cache of the first server to the data stored in the non-volatile storage of the second server, wherein the syncio process allows the host to hold an application thread in a spin loop waiting for a write operation to complete, wherein a likelihood of an error in writing identical data to the cache of the first server and the non-volatile storage of the second server is greater when the identical data is attempted to be written from the host to the first server and the second server over the first bus interface and the second bus interface, than over a network interface.
Dependencies are inferred from the claim text.