IP Library Granted Patent US 9,946,485
Granted Patent B1
US 9,946,485 · App. 15/386,042 · Granted Apr 17, 2018

Efficient data marker representation

Inventors: Arieh Don (Newton, MA); Slavik Neymer (Tel Aviv, IL); Jehuda Shemer (Kfar Saba, IL); Alexandra Solan (Tel Aviv, IL); Valerie Lotosh (Ramat Gan, IL)
Assignee: EMC IP Holding Company LLC
G06F3/064G06F3/067G06F3/0619
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 9,946,485
App. No.
15/386,042
Granted
Apr 17, 2018
Kind
B1
Abstract

A changed block bitmap of a volume of storage is represented by a data marker that includes an offset to a first dirty block and an offset to a last dirty block. The blocks between the first and last dirty blocks are represented by contiguous clean block identifiers, contiguous dirty block identifiers, and contiguous mixed clean and dirty block identifiers. The contiguous clean block identifiers and contiguous dirty block identifiers use one or two bits to indicate identifier type. The remaining bits indicate a numerical count of contiguous clean or dirty blocks. The contiguous mixed clean and dirty block identifiers may use one bit per block to indicate change status. The data marker may be smaller than a corresponding changed block bitmap.

Claims (37)

1. An apparatus comprising:

a plurality of interconnected computing nodes, each of the computing nodes comprising at least one processor and non-transitory memory;

a plurality of groups of data storage drives, each group of data storage drives connected with one of the computing nodes;

first program code, stored on non-transitory memory, that maintains a logical storage volume comprising contiguous logical block addresses that map to non-contiguous addresses of the data storage drives; and

second program code, stored on non-transitory memory, that generates a data marker that represents changes to the logical storage volume, the data marker comprising a first field that indicates an offset to a first dirty block and a second field that indicates an offset to a last dirty block.

2. The apparatus of claim 1 wherein the second program code generates the data marker with at least one bitmap field that represents contiguous clean blocks.

3. The apparatus of claim 2 wherein the bitmap field is two bytes in length and a most significant bit of the two bytes indicates that the bitmap field represents contiguous clean blocks.

4. The apparatus of claim 3 wherein fifteen bits following the most significant bit indicate a numerical count of contiguous clean blocks.

5. The apparatus of claim 1 wherein the second program code generates the data marker with at least one bitmap field that represents contiguous dirty blocks.

6. The apparatus of claim 5 wherein the bitmap field is two bytes in length and two most significant bits of the two bytes indicates that the bitmap field represents contiguous dirty blocks.

7. The apparatus of claim 6 wherein fourteen bits following the two most significant bits indicate a numerical count of contiguous dirty blocks.

8. The apparatus of claim 1 wherein the second program code generates the data marker with at least one bitmap field that represents contiguous mixed clean and dirty blocks.

9. The apparatus of claim 8 wherein the bitmap field is two bytes in length and two most significant bits of the two bytes indicates that the bitmap field represents contiguous mixed clean and dirty blocks.

10. The apparatus of claim 9 wherein fourteen bits following the two most significant bits each indicate change status of an individual block.

11. A method comprising:

in a storage array comprising a plurality of interconnected computing nodes, each of the computing nodes comprising at least one processor and non-transitory memory, and a plurality of groups of data storage drives, each group of data storage drives connected with one of the computing nodes:

maintaining a logical storage volume comprising contiguous logical block addresses that map to non-contiguous addresses of the data storage drives; and

generating a data marker that represents changes to the logical storage volume, comprising:

generating a first field that indicates an offset to a first dirty block; and

generating a second field that indicates an offset to a last dirty block.

12. The method of claim 11 wherein generating the data marker comprises generating at least one bitmap field that represents contiguous clean blocks.

13. The method of claim 12 comprising generating the bitmap field with a length of two bytes and a most significant bit of the two bytes indicating that the bitmap field represents contiguous clean blocks.

14. The method of claim 13 comprising using fifteen bits following the most significant bit to indicate a numerical count of contiguous clean blocks.

15. The method of claim 11 wherein generating the data marker comprises generating at least one bitmap field that represents contiguous dirty blocks.

16. The method of claim 15 comprising generating the bitmap field with a length of two bytes and two most significant bits of the two bytes indicating that the bitmap field represents contiguous dirty blocks.

17. The method of claim 16 comprising using fourteen bits following the two most significant bits to indicate a numerical count of contiguous dirty blocks.

18. The method of claim 11 wherein generating the data marker comprises generating at least one bitmap field that represents contiguous mixed clean and dirty blocks.

19. The method of claim 18 comprising generating the bitmap field with a length of two bytes and two most significant bits of the two bytes indicating that the bitmap field represents contiguous mixed clean and dirty blocks.

20. A method comprising:

in a network comprising a data protection appliance and a storage array, the storage array comprising a plurality of interconnected computing nodes, each of the computing nodes comprising at least one processor and non-transitory memory, and a plurality of groups of data storage drives, each group of data storage drives connected with one of the computing nodes:

maintaining a logical storage volume comprising contiguous logical block addresses that map to non-contiguous addresses of the data storage drives; and

generating a data marker that represents changes to the logical storage volume, comprising:

generating a first field that indicates an offset to a first dirty block;

generating a second field that indicates an offset to a last dirty block;

generating at least one bitmap field that represents contiguous clean blocks; and

generating at least one bitmap field that represents contiguous dirty blocks; and

sending the data marker from the storage array to the data protection appliance.

Assignments (8)
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 (046366/0014) 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
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Apr 22, 2020
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 053546/0001 →
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 (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: DON, ARIEH; NEYMER, SLAVIK; SHEMER, JEHUDA; SOLAN, ALEXANDRA; LOTOSH, VALERIE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041091/0093 →