IP Library › Granted Patent US 10,664,189
Granted Patent B2
US 10,664,189 · App. 16/113,092 · Granted May 26, 2020

Performance in synchronous data replication environments

Inventor: Xue Qiang Zhou (Shanghai, CN)
Assignee: International Business Machines Corporation
G06F3/065G06F3/061G06F3/067G06F3/0653G06F3/0656G06F12/0811G06F12/0815G06F2212/1016G06F2212/154G06F2212/163
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,664,189
App. No.
16/113,092
Granted
May 26, 2020
Kind
B2
Abstract

A method for improving I/O performance in synchronous data replication environments is disclosed. In one embodiment, such a method includes receiving write data into a primary write cache of a primary storage system. The method synchronously mirrors the write data from the primary write cache to a secondary write cache of a secondary storage system. The method is further configured to detect when the primary write cache is full. When the primary write cache is full, the method temporarily uses primary read cache of the primary storage system to store incoming write data. This incoming write data is mirrored from the primary read cache to the secondary write cache of the secondary storage system. A corresponding system and computer program product are also disclosed herein.

Claims (37)

1. A method for improving performance in synchronous data replication environments, the method comprising;

receiving write data into a primary write cache of a primary storage system;

synchronously mirroring the write data from the primary write cache to a secondary write cache of a secondary storage system;

detecting when the primary write cache is full;

when the primary write cache is full, temporarily using primary read cache of the primary storage system to store incoming write data; and

recording, in a data structure maintained on the secondary storage system, that the incoming write data is stored in the primary read cache.

2. The method of claim 1 , further comprising mirroring the incoming write data from the primary read cache to the secondary write cache.

3. The method of claim 2 , wherein mirroring the incoming write data comprises marking the incoming write data to indicate that it the incoming write data is stored in the primary read cache.

4. The method of claim 1 , wherein the data structure is a bitmap.

5. The method of claim 1 , wherein the primary write cache is implemented using battery-hacked volatile memory.

6. The method of claim 1 , wherein the primary read cache is implemented using non-battery-backed volatile memory.

7. The method of claim 1 , wherein receiving the write data into the primary write cache further comprises duplicating the write data across servers of the primary storage system.

8. A computer program product for improving performance in synchronous data replication environments, the computer program product comprising a non-transitory computer-readable storage medium having computer-usable program code embodied therein, the computer-usable program code configured to perform the following when executed by at least one processor:

receive write data into a primary write cache of a primary storage system;

synchronously mirror the write data from the primary write cache to a secondary write cache of a secondary storage system;

detect when the primary write cache is full;

when the primary write cache is full, temporarily use primary read cache of the primary storage system to store incoming write data; and

record, in a data structure maintained on the secondary storage system, that the incoming write data is stored in the primary read cache.

9. The computer program product of claim 8 , wherein the computer-usable program code is further configured to mirror the incoming write data from the primary read cache to the secondary write cache.

10. The computer program product of claim 9 , wherein mirroring the incoming write data comprises marking the incoming write data to indicate that the incoming write data is stored in the primary read cache.

11. The computer program product of claim 8 , wherein the data structure is a bitmap.

12. The computer program product of claim 8 , wherein the primary write cache is implemented using battery-backed volatile memory.

13. The computer program product of claim 8 , wherein the primary read cache is implemented using non-battery-backed volatile memory.

14. The computer program product of claim 8 , wherein receiving the write data into the primary write cache further comprises duplicating the write data across servers of the primary storage system.

15. A system for improving performance in synchronous data replication environments, the system comprising:

at least one processor;

at least one memory device operably coupled to the at least one processor and storing instructions for execution on the at least one processor, the instructions causing the at least one processor to:

receive write data into a primary write cache of a primary storage system;

synchronously mirror the write data from the primary write cache to a secondary write cache of a secondary storage system;

detect when the primary write cache is full;

when the primary write cache is full, temporarily use primary read cache of the primary storage system to store incoming write data; and

record, in a data structure maintained on the secondary storage system, that the incoming write data is stored in the primary read cache.

16. The system of claim 15 , wherein the instructions further cause the at least one processor to mirror the incoming write data from the primary read cache to the secondary write cache.

17. The system of claim 16 , wherein mark mirroring the incoming write data comprises marking the incoming write data to indicate that the incoming write data is stored in the primary read cache.

18. The system of claim 15 , wherein the data structure is a bitmap.

19. The system of claim 15 , wherein the primary write cache is implemented using battery-backed volatile memory and the primary read cache is implemented using non-battery-backed volatile memory.

20. The system of claim 15 , wherein receiving the write data into the primary write cache further comprises duplicating the write data across servers of the primary storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2018
From: ZHOU, XUE QIANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046709/0623 →
Continuity (1)
Related Publication 20200065002A1 · Feb 27, 2020