IP Library Granted Patent US 6,910,178
Granted Patent B1
US 6,910,178 · App. 10/098,285 · Granted Jun 21, 2005

System and method for resolving data inconsistencies with a data majority

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 6,910,178
App. No.
10/098,285
Granted
Jun 21, 2005
Kind
B1
Abstract

A system and method for an election and data majority mechanism that solves problems such as bit flipping, mistracking, miscaching, and I/O status errors during real-time operations. Multiple copies of data are stored on various storage media of a data processing system. Errors that occur on the storage media or on other components of the data processing system are resolved by selecting the data with the highest frequency as the data majority. The data majority is propagated throughout the storage media to correct errors.

Claims (40)

1. A data processing system for resolving data inconsistencies, comprising:

storage media having multiple copies of data;

a read engine for reading a first, a second, and a third copy of data from the multiple copies of data;

a comparator coupled to the read engine for comparing the first and the second copy of data to determine data match, and for comparing the third copy of data to either the first or the second copy of data if no data match; and

a majority engine coupled to the comparator for determining a data majority.

2. The data processing system of claim 1 , wherein the data majority is a correct set of data determined by a highest frequency.

3. The data processing system of claim 2 , wherein the highest frequency is a greatest number of times matching data appears on the storage media.

4. The data processing system of claim 1 , further comprising a memory location for storing data read from the storage media.

5. The data processing system of claim 1 , wherein the storage media is any component attached to the data processing system that stores data.

6. The data processing system of claim 1 , where the first, second, and third copy of data is randomly selected from the multiple copies of data.

7. A method of resolving data inconsistencies in a data processing system comprising the steps of:

reading a first copy of data stored in a storage media;

reading a second copy of data stored in the storage media;

comparing the first copy of data to the second copy of data to determine data match;

if no data match occurs, reading a third copy of data from the storage media and comparing the third copy of data to the first or second copy of data; and

determining a data majority.

8. The method of claim 7 , further comprising the step of returning an error condition if the data majority does not exist.

9. The method of claim 7 , further comprising the step of disabling all but a single copy of data to prevent further read and write operations if the data majority does not exist.

10. The method of claim 9 , further comprising the step of returning data from a memory location corresponding to the single copy of data.

11. The method of claim 7 , further comprising the step of overwriting data on a corrupted storage media with the data majority.

12. A machine readable medium having embodied thereon a program being executed by a machine to perform method steps for resolving data inconsistencies, the method steps comprising:

reading a first copy of data stored in a storage media;

reading a second copy of data stored in the storage media;

comparing the first copy of data to the second copy of data to determine data match;

if no data match occurs, reading a third copy of data from the storage media and comparing the third copy of data to the first or second copy of data; and

determining a data majority.

13. A data processing system for resolving data inconsistencies, comprising:

means for reading a first copy of data stored in a storage media;

means for reading a second copy of data stored in the storage media;

means for comparing the first copy of data to the second copy of data to determine data match;

if no data match occurs, means for reading a third copy of data from the storage media and comparing the third copy of data to the first or second copy of data; and

means for determining a data majority.

14. A method of resolving data inconsistencies in a data processing system comprising the steps of:

reading a plurality of copies of data stored in a storage media;

comparing the plurality of copies of data to determine data match; and

if no data match occurs, reading remaining copies of data in the storage media to determine a data majority.

15. The method of claim 14 , further comprising the step of returning an error condition if the data majority does not exist.

16. The method of claim 14 , further comprising the step of disabling all but a single copy of data to prevent further read and write operations if the data majority does not exist.

17. The method of claim 16 , further comprising the step of returning data from a memory location corresponding to the single copy of data.

18. The method of claim 14 , further comprising the step of overwriting data on a corrupted storage media with the data majority.

Assignments (13)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →