IP Library Granted Patent US 7,506,111
Granted Patent B1
US 7,506,111 · App. 11/017,026 · Granted Mar 17, 2009

System and method for determining a number of overwitten blocks between data containers

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,506,111
App. No.
11/017,026
Granted
Mar 17, 2009
Kind
B1
Abstract

A system and method for quickly and efficiently determining the number of overwritten blocks between two data containers served by a storage system is provided. A novel vbnspace namespace is provided that is “parallel” to the file system (the “active” file system) and tracks location information (i.e., indirect block pointers) of level 0 data blocks within each data container, e.g., the active file system or a PCPI. The vbnspace namespace effectively eliminates the conventional level 0 data blocks from a storage viewpoint to thereby reduce the quantity of information needed to determine the number of overwritten blocks between the data containers.

Claims (45)

1. A system for determining a number of overwritten blocks modified between a first time when a first data container was written and a second time when a second data container was written by a storage system, comprising:

a storage operating system executed by a processor, the storage operating system configured to implement a file system having a vbnspace process, the vbnspace process adapted to implement a parallel namespace to the file system, the parallel namespace adapted so that level one blocks of each data container are presented as level zero blocks, wherein the level one blocks comprise one or more pointers to the level zero blocks; and

the storage operating system further configured to determine a number of changed data blocks between the first data container and the second data container by comparing level one blocks of the storage system which are presented as level zero blocks of the vbnspace to compare the pointers of the storage system level one blocks of the first data container and the second data container.

2. The system of claim 1 wherein the data container comprises a persistent consistency point image.

3. The system of claim 1 wherein the data container comprises an active file system.

4. The system of claim 1 wherein each level one block comprises 510 pointers to level zero blocks.

5. The system of claim 1 wherein each level one block comprises 1024 pointers to level zero blocks.

6. The system of claim 1 wherein a data container may be accessed via the parallel namespace using a file-level protocol.

7. The system of claim 1 wherein a file-level protocol comprises NFS.

8. The system of claim 1 wherein a data container may be accessed via the parallel namespace using a block-level protocol.

9. The system of claim 8 wherein the block-level protocol comprises SCSI encapsulated within Fibre Channel (FCP).

10. The system of claim 8 wherein the block-level protocol comprises SCSI encapsulated within TCP/IP (iSCSI).

11. The system of claim 1 further comprising a monitoring application executing on a client, the monitoring application configured to determine the rate of change between a first data container and a second data container by comparing level zero blocks of each data container in the parallel namespace.

12. A system for determining a number of overwritten blocks modified between a first time when a first data container was written and a second time when a second data container was written by a storage system, comprising:

a storage operating system executed by a processor, the storage operating system implementing a file system having means for implementing a parallel namespace to the file system, the means for implementing the parallel namespace comprising means for presenting level one blocks of each data container as level zero blocks, wherein the level one blocks comprise one or more pointers to the level zero blocks; and

a number of changed data blocks between the first data container and the second data container determined by comparing level one blocks of the storage system which are presented as level zero blocks of the vbnspace to compare the pointers of the storage system level one blocks of the first data container and the second data container.

13. The system of claim 12 wherein the data container comprises a persistent consistency point image.

14. The system of claim 12 wherein the data container comprises an active file system.

15. The system of claim 12 wherein each level one block comprises 510 pointers to level zero blocks.

16. The system of claim 12 wherein each level one block comprises 1024 pointers to level zero blocks.

17. The system of claim 12 wherein a data container may be accessed via the parallel namespace using a file-level protocol.

18. The system of claim 12 wherein a file-level protocol comprises NFS.

19. The system of claim 12 wherein a data container may be accessed via the parallel namespace using a block-level protocol.

20. A method for determining a number of overwritten level zero blocks between a first data container and a second data container served by a storage system, comprising:

pointing by pointers in level one blocks of the storage system to data in level zero blocks of the storage system;

providing a vbnspace namespace having the level one blocks of the storage system presented as vbnspace level zero blocks;

retrieving vbnspace level zero blocks of the first data container from one or more storage devices coupled to the storage system;

retrieving vbnspace level zero blocks of the second data container from the one or more storage devices; and

comparing the vbnspace level zero data blocks of the first data container to the vbnspace level zero data blocks of the second data container to determine a number of storage system level zero blocks that differ between the first data container and the second data container, whereby pointers in the level one blocks of the storage system are compared.

21. The method of claim 20 wherein the first data container comprises a persistent consistency point image.

22. The method of claim 20 wherein the first data container comprises an active file system.

23. The method of claim 20 wherein the second data container comprises a persistent consistency point image.

24. The method of claim 20 wherein the second data container comprises an active file system.

25. The method of claim 20 wherein the storage devices comprise disk drives.

26. A system for determining a number of overwritten level zero blocks between a first data container and a second data container served by a storage system, comprising:

means for pointing by pointers in level one blocks of the storage system to data in level zero blocks of the storage system;

means for providing a vbnspace namespace having the level one blocks of the storage system presented as vbnspace level zero blocks;

means for retrieving vbnspace level zero blocks of the first data container from one or more storage devices coupled to the storage system;

means for retrieving vbnspace level zero blocks of the second data container from the one or more storage devices; and

a storage operating system executed by a processor, the storage operating system configured to compare the vbnspace level zero data blocks of the first data container to the vbnspace level zero data blocks of the second data container to determine a number of storage system level zero blocks that differ between the first data container and the second data container, whereby pointers in the level one blocks of the storage system are compared.

27. The system of claim 26 wherein the first data container comprises a persistent consistency point image.

28. The system of claim 26 wherein the first data container comprises an active file system.

29. The system of claim 26 wherein the second data container comprises a persistent consistency point image.

30. The system of claim 26 wherein the second data container comprises an active file system.

31. The system of claim 26 storage devices comprise disk drives.

Assignments (2)
CHANGE OF NAME Recorded Jul 14, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 067983/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2004
From: HAMILTON, ERIC
To: NETWORK APPLIANCE, INC.
Reel/Frame 016114/0078 →