IP Library Granted Patent US 10,365,856
Granted Patent B2
US 10,365,856 · App. 15/848,642 · Granted Jul 30, 2019

Method and apparatus for ensuring data consistency

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,365,856
App. No.
15/848,642
Granted
Jul 30, 2019
Kind
B2
Abstract

Embodiments of the present disclosure provide methods and apparatuses for ensuring data consistency. In some embodiments, a method comprises writing data into a first temporary buffer in a first processor. The method further comprises, in response to the data being written into the first temporary buffer, sending the data to a second processor to update a copy of the data in the second processor. In addition, the method comprises, in response to receiving an indication that the second processor has received the data, copying the data from the first temporary buffer to a first working buffer in the first processor.

Claims (54)

1. A method of ensuring data consistency, comprising:

writing data into a first temporary buffer in a first processor;

in response to the data being written into the first temporary buffer, sending the data to a second processor to update a copy of the data in the second processor; and

in response to receiving an indication that the second processor has received the data, copying the data from the first temporary buffer to a first working buffer in the first processor.

2. The method according to claim 1 , further comprising:

in response to the data being copied to the first working buffer, releasing the first temporary buffer.

3. The method according to claim 1 , further comprising:

writing the data into a temporary region on a disk shared by the first and second processors;

in response to the data being written into the temporary region, setting a flag associated with the temporary region to indicate that the data in the temporary region is valid;

writing the data into a working region on the disk; and

in response to the data being written into the working region, setting the flag to indicate that the data in the temporary region is invalid.

4. The method according to claim 3 , further comprising:

in response to the flag being set to indicate that the data in the temporary region is valid, sending a first message containing the flag to the second processor.

5. The method according to claim 4 , wherein writing the data into the working region on the disk comprises:

in response to receiving an acknowledgement that the second processor has received the first message, writing the data into the working region.

6. The method according to claim 3 , further comprising:

in response to the flag being set to indicate that the data in the temporary region is invalid, sending a second message containing the flag to the second processor.

7. A method for ensuring data consistency, comprising:

in response to receiving from a first processor data to be updated, writing the data into a second temporary buffer in a second processor;

in response to the data being written into the second temporary buffer, sending, to the first processor, an indication that the second processor has received the data; and

copying the data from the second temporary buffer to a second working region in the second processor.

8. The method according to claim 7 , further comprising:

in response to the data being copied to the second working buffer, releasing the second temporary buffer.

9. The method according to claim 7 , further comprising:

in response to receiving from the first processor a first message indicating that the data is updated to a temporary region on a disk shared by the first and second processors, obtaining, from the first message, a flag indicating that the data in the temporary region is valid; and

sending, to the first processor, a first acknowledgement that the second processor has received the first message.

10. The method according to claim 9 , further comprising:

in response to receiving from the first processor a second message indicating that the data is updated to a working region on the disk, obtaining, from the second message, the flag indicating that the data in the temporary region is invalid; and

sending, to the first processor, a second acknowledgement that the second processor has received the second message.

11. The method according to claim 7 , further comprising:

in response to determining that the first processor is unresponsive:

writing the data into a temporary region on the disk shared by the first and second processors;

in response to the data being written into the temporary region, setting a flag associated with the temporary region to indicate that the data in the temporary region is valid;

writing the data into a working region on the disk; and

in response to the data being written into the working region, setting the flag to indicate that the data in the temporary region is invalid.

12. An apparatus for ensuring data consistency, comprising:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the apparatus to:

write data into a first temporary buffer in a first processor;

in response to the data being written into the first temporary buffer, send the data to a second processor to update a copy of the data in the second processor; and

in response to receiving an indication that the second processor has received the data, copy the data from the first temporary buffer to a first working buffer in the first processor.

13. The apparatus according to claim 12 , wherein the instructions, when executed by the at least one processing unit, further cause the apparatus to:

in response to the data being copied to the first working buffer, release the first temporary buffer.

14. The apparatus according to claim 12 , wherein the instructions, when executed by the at least one processing unit, further cause the apparatus to:

write the data into a temporary region on a disk shared by the first and second processors;

in response to the data being written into the temporary region, set a flag associated with the temporary region to indicate that the data in the temporary region is valid;

write the data into a working region on the disk; and

in response to the data being written into the working region, set the flag to indicate that the data in the temporary region is invalid.

15. The apparatus according to claim 14 , wherein the instructions, when executed by the at least one processing unit, further cause the apparatus to:

in response to the flag being set to indicate that the data in the temporary region is valid, send a first message containing the flag to the second processor.

16. The apparatus according to claim 15 , wherein writing the data into the working region on the disk comprises:

in response to receiving an acknowledgement that the second processor has received the first message, writing the data into the working region.

17. The apparatus according to claim 14 , wherein the instructions, when executed by the at least one processing unit, further cause the apparatus to:

in response to the flag being set to indicate that the data in the temporary region is invalid, send a second message containing the flag to the second processor.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2018
From: GONG, SHAOQIN; GAO, JIAN; HAN, GENG; GAO, HONGPO; SUN, REE LEI; XU, XINLEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044592/0031 →