IP Library Granted Patent US 7,089,385
Granted Patent B1
US 7,089,385 · App. 11/068,545 · Granted Aug 8, 2006

Tracking in-progress writes through use of multi-column bitmaps

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 7,089,385
App. No.
11/068,545
Granted
Aug 8, 2006
Kind
B1
Abstract

Disclosed is a method and apparatus for tracking in-progress writes to a data volume and a copy thereof using a multi-column bit map. The method can be implemented in a computer system and, in one embodiment, includes creating a data volume in a first memory, and creating a copy of the data volume in a second memory. In response to the computer system receiving a request to write first data to the data volume, the computer system switches the state of first and second bits of a map entry in a memory device, wherein the state of the first and second bits are switched using a single write access to the memory device.

Claims (39)

1. A method comprising:

creating a data volume;

creating a copy of the data volume;

a computer system receiving a request to write first data to the data volume;

switching the state of a pair of bits in a memory device in response to the computer system receiving the request to write first data to the data volume, wherein the state of the pair of bits are switched using a single write access to the memory device.

2. The method of claim 1 further comprising allocating memory of the memory device for a map, wherein the map comprises an entry, wherein the entry comprises the pair of bits.

3. The method of claim 1 further comprising:

writing the first data to a memory block in a first memory, wherein the first memory is configured to store the data volume;

writing the first data to a memory block in a second memory, wherein the second memory is configured to store the data volume copy;

switching the state of one or the pair bits back to its original state after writing the first data to the memory blocks of the first and second memory.

4. The method of claim 3 :

wherein a first bit of the pair, when switched to a first or second state, indicates that data has been written to the first memory after allocation of the memory for the map;

wherein a second bit of the pair, when switched to a first or second state, indicates that the first and second memories will be subject to a write operation.

5. A computer readable medium comprising instructions executable by a computer system, wherein the computer system performs a method in response to executing the instructions, the method comprising:

creating a data volume;

creating a copy of the data volume;

switching the state of a pair of bits in a memory device in response to the computer system receiving a request to modify first data of the data volume, wherein the state of the pair of bits are switched using a single write access to the memory device.

6. The computer readable medium of claim 5 , wherein the method further comprises allocating memory of a memory device for a map, wherein the map comprises an entry, wherein the entry comprises the pair of bits.

7. The computer readable medium of claim 6 wherein the method further comprises:

modifying the first data, wherein the first data is stored in a memory block in a first memory, wherein the first memory is configured to store the data volume;

modifying data in a second memory, wherein the second memory is configured to store the data volume copy;

switching the state of one bit of the pair back to its original state after modifying data in the second memory.

8. The computer readable medium of claim 6 :

wherein one bit of the pair, when switched to a first or second state, indicates that data in the first memory was modified after allocation of the memory for the map;

wherein the other bit of the pair, when switched to a first or second state, indicates that the first and second memories are subject to write operation.

9. The computer readable medium of claim 6 wherein the method further comprises:

creating a map in the memory device, wherein the map comprises a plurality of entries, each entry comprising first, second, and third bits;

wherein each entry corresponds to a respective memory block of the data volume;

wherein each first bit, when set to a first or second state, indicates whether its respective memory block of the data volume stores valid data;

wherein each second bit, when set to a first or second state, indicates whether its respective memory block of the data volume stores data which has been modified since creation of the data volume copy;

wherein each third bit, when set to a first or second state, indicates whether its respective memory block of the data volume will be subject to a write operation, and;

wherein the pair of bits are the second and third bits, respectively, of one entry of the map.

10. A computer readable medium comprising instructions executable by a computer system, wherein the computer system performs a method in response to executing the instructions, the method comprising:

creating a data volume;

creating a mirror of the data volume;

creating a map in a memory device, wherein the map comprises a plurality of entries, wherein each entry comprises first and second bits;

wherein each first bit, when set to a first or second state, indicates whether data has been written to a respective block of the data volume since allocation of memory for the map;

wherein each second bit, when set to a first or second state, indicates whether respective blocks in the data volume and mirror will be subject to separate in-progress write operations.

11. The computer readable medium of claim 10 wherein each of the plurality of entries comprises a third bit, wherein the third bit, when set to a first or second state, indicates whether respective blocks in the data volume contains valid data.

Assignments (15)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
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 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
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 →