IP Library Granted Patent US 8,866,649
Granted Patent B2
US 8,866,649 · App. 13/232,216 · Granted Oct 21, 2014

Method and system for using non-variable compression group size in partial cloning

Inventors: Sandeep Yadav (Santa Clara, CA); Dnyaneshwar Pawar (Bangalore, IN); Anand Natarajan (Santa Clara, CA)
Assignee: Netapp, Inc.
G06F12/00G06F11/1448G06F11/1453
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 8,866,649
App. No.
13/232,216
Granted
Oct 21, 2014
Kind
B2
Abstract

Method and system for partially cloning a data container with compression is provided. A storage operating system determines if a portion of a source data container that is to be cloned includes a plurality of compressed blocks that are compressed using a non-variable compression group size. The operating system clones the plurality compressed blocks with the non-variable compression group size and de-compresses a plurality of blocks of the data container that are not within the non-variable compression group size. The plurality of compressed blocks and the plurality of blocks that are not within the non-variable compression group size are then stored as a partially cloned copy of the source data container.

Claims (36)

1. A machine implemented method for partially cloning a data container, comprising:

determining a compressed block compressed using a non-variable compression group size;

cloning the compressed block using the non-variable compression group size without having to de-compress the compressed block;

de-compressing a block of the data container that is outside the non-variable compression group size; and

storing the cloned compressed block and the decompressed block that is not within the non-variable compression group size as a partially cloned portion of the data container.

2. The method of claim 1 , wherein the de-compressed block is compressed before being stored as part of the partially cloned portion of the data containers.

3. The method of claim 1 , wherein the data container is stored in a hierarchical structure by a processor executable storage operating system.

4. The method of claim 3 , wherein the hierarchical structure includes a first data structure identifying the data container, a second data structure associated with the first data structure, the second data structure storing address pointers to a third data structure that stores block numbers associated with physical storage space of a storage device.

5. The method of claim 1 , wherein the non-variable compression group size is at least eight blocks.

6. A machine implemented method for cloning a data container, comprising:

scanning a source data container for generating a cloned copy of a portion of the source data container; wherein the portion of the source data container includes a compressed block that is compressed using a non-variable compression group size and at least one block that is not within the non-variable compression group size;

reading the compressed block from the source data container without having to de-compress the compressed block; and

generating the cloned copy of the portion of the source data container with the at least one block and the compressed block compressed using the non-variable compression group size.

7. The method of claim 6 , wherein the at least one block is compressed before being stored with the cloned copy of the portion of the source data container.

8. The method of claim 6 , wherein the source data container is stored in a hierarchical structure by a processor executable storage operating system.

9. The method of claim 8 , wherein the hierarchical structure includes a first data structure identifying the source data container, a second data structure associated with the first data structure, the second data structure storing address pointers to a third data structure that stores block numbers associated with physical storage space of a storage device.

10. The method of claim 6 , wherein the non-variable compression group size is at least eight blocks.

11. A non-transitory, machine readable storage medium having stored thereon instructions for performing a method for partially cloning a data container, comprising machine executable code which when executed by at least one machine, causes the machine to:

determine a compressed block compressed using a non-variable compression group size;

clone the compressed block using the non-variable compression group size without having to de-compress the compressed block;

de-compress a block of the data container that is outside the non-variable compression group size; and

storing the cloned compressed block and the decompressed block that is not within the non-variable compression group size as a partially cloned portion of the data container.

12. The storage medium of claim 11 , wherein the de-compressed block is compressed before being stored as part of the partially cloned portion of the data container.

13. The storage medium of claim 11 , wherein the data container is stored in a hierarchical structure by a processor executable storage operating system.

14. The storage medium of claim 13 , wherein the hierarchical structure includes a first data structure identifying the data container, a second data structure associated with the first data structure, the second data structure storing address pointers to a third data structure that stores block numbers associated with physical storage space of a storage device.

15. The storage medium of claim 11 , wherein the non-variable compression group size is at least eight blocks.

16. A system, comprising:

a memory containing machine readable medium comprising machine executable code having stored thereon instructions; and a processor module coupled to the memory, the processor module configured to execute the machine executable code to:

determine a compressed block compressed using a non-variable compression group size;

clone the compressed block using the non-variable compression group size without having to de-compress the compressed block;

de-compress a block of the data container that is outside the non-variable compression group size; and

storing the cloned compressed block and the decompressed block that is not within the non-variable compression group size as a partially cloned portion of the data container.

17. The system of claim 16 , wherein the de-compressed block is compressed before being stored as part of the partially cloned portion of the data container.

18. The system of claim 16 , wherein the data container is stored in a hierarchical structure by a processor executable storage operating system.

19. The system of claim 18 , wherein the hierarchical structure includes a first data structure identifying the data container, a second data structure associated with the first data structure, the second data structure storing address pointers to a third data structure that stores block numbers associated with physical storage space of a storage device.

20. The system of claim 16 , wherein the non-variable compression group size is at least eight blocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2012
From: YADAV, SANDEEP; PAWAR, DNYANESHWAR; NATARAJAN, ANAND
To: NETAPP, INC.
Reel/Frame 027525/0152 →
Continuity (1)
Related Publication 20130067175A1 · Mar 14, 2013