Systems and methods for transformation of logical data objects for storage
First Claim
1. A method for writing data to a storage device configured to operate with at least one storage protocol, said method comprising:
- generating, in the storage device, a compressed logical data object comprising at least one allocated section with a predefined size;
receiving variable size chunks of raw data;
comparing a characteristic of the raw data chunks to a predefined criterion related to an estimated or actual time of compression of the raw data chunks, the predefined criterion including an estimated time necessary to compress the raw data chunks which, being compressed, would substantially amount to a compressed section size;
if the characteristic matches the predefined criterion;
sequentially compressing the raw data chunks in accordance with an order said raw data chunks are received to generate compressed data chunks, wherein at least two of the compressed data chunks comprise different sizes,accumulating the compressed data chunks in the at least one allocated section, the compressed data chunks accumulated until the at least one allocated section includes an amount of compressed data chunks matching the predefined size, andwriting said accumulated compressed data chunks into said at least one allocated section in accordance with an order said chunks of raw data are received; and
if the characteristic does not match the predefined criterion;
identifying the raw data chunks as being in a non-compressed form or a partly compressed form,accumulating the non-compressed or partly compressed data chunks in the at least one allocated section, the non-compressed or partly compressed data chunks accumulated until the at least one allocated section includes an amount of data chunks matching the predefined size, andwriting said accumulated non-compressed or partly compressed data chunks into said at least one allocated section in accordance with an order said chunks of raw data are received.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for compressing a raw logical data object (201) for storage in a storage device operable with at least one storage protocol, creating, reading, writing, optimizatic in and restoring thereof. Compressing the raw logical data object (201) comprises creating in the storage device a compressed logical data object (203) comprising a header (204) and one or more allocated compressed sections with predefined size (205-1-205-2); compressing one or more sequentially obtained chunks of raw data (202-1-202-6) corresponding to the raw logical data object (201) thus giving rise to the compressed data chunks (207-1-207-6); and sequentially accommodating the processed data chunks into: said compressed sections (205-1-205-2) in accordance with an order said chunks received, wherein said compressed sections serve as atomic elements of compression/decompression operations during input/output transactions on the logical data object.
-
Citations
21 Claims
-
1. A method for writing data to a storage device configured to operate with at least one storage protocol, said method comprising:
-
generating, in the storage device, a compressed logical data object comprising at least one allocated section with a predefined size; receiving variable size chunks of raw data; comparing a characteristic of the raw data chunks to a predefined criterion related to an estimated or actual time of compression of the raw data chunks, the predefined criterion including an estimated time necessary to compress the raw data chunks which, being compressed, would substantially amount to a compressed section size; if the characteristic matches the predefined criterion; sequentially compressing the raw data chunks in accordance with an order said raw data chunks are received to generate compressed data chunks, wherein at least two of the compressed data chunks comprise different sizes, accumulating the compressed data chunks in the at least one allocated section, the compressed data chunks accumulated until the at least one allocated section includes an amount of compressed data chunks matching the predefined size, and writing said accumulated compressed data chunks into said at least one allocated section in accordance with an order said chunks of raw data are received; and if the characteristic does not match the predefined criterion; identifying the raw data chunks as being in a non-compressed form or a partly compressed form, accumulating the non-compressed or partly compressed data chunks in the at least one allocated section, the non-compressed or partly compressed data chunks accumulated until the at least one allocated section includes an amount of data chunks matching the predefined size, and writing said accumulated non-compressed or partly compressed data chunks into said at least one allocated section in accordance with an order said chunks of raw data are received. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for compressing a raw logical data object for storage in a storage device configured to operate with at least one storage protocol, said system comprising:
-
a processor; and memory coupled to said processor, wherein the processor is configured to store computer code that, when executed by the processor, causes the processor to; generate, in the storage device, a compressed logical data object comprising at least one allocated section with a predefined size, receive variable size chunks of raw data, compare a characteristic of the raw data chunks to a predefined criterion related to an estimated or actual time of compression of the raw data chunks, the predefined criterion including an estimated time necessary to compress the raw data chunks which, being compressed, would substantially amount to a compressed section size; if the characteristic matches the predefined criterion; sequentially compress the raw data chunks in accordance with an order said raw data chunks are received to generate compressed data chunks, wherein at least two of the compressed data chunks comprise different sizes, accumulate the compressed data chunks in the at least one allocated section, the compressed data chunks accumulated until the at least one allocated section includes an amount of compressed data chunks matching the predefined size, and write said accumulated compressed data chunks into said at least one allocated section in accordance with an order said chunks of raw data are received, and if the characteristic does not match the predefined criterion; identify the raw data chunks as being in a non-compressed form or a partly compressed form, accumulate the non-compressed or partly compressed data chunks in the at least one allocated section, the non-compressed or partly compressed data chunks accumulated until the at least one allocated section includes an amount of data chunks matching the predefined size, and write said accumulated non-compressed or partly compressed data chunks into said at least one allocated section in accordance with an order said chunks of raw data are received. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a computer useable medium including a computer readable program code embodied therein for compressing a raw logical data object for storage in a storage device configured to operate with at least one storage protocol, said computer program product comprising:
-
computer code for generating, in the storage device, a compressed logical data object comprising at least one allocated section with a predefined size; computer code for receiving variable size chunks of raw data; computer code for comparing a characteristic of the raw data chunks to a predefined criterion related to an estimated or actual time of compression of the raw data chunks, the predefined criterion including an estimated time necessary to compress the raw data chunks which, being compressed, would substantially amount to a compressed section size; if the characteristic matches the predefined criterion; computer code for sequentially compressing the raw data chunks in accordance with an order said raw data chunks are received to generate compressed data chunks, wherein at least two of the compressed data chunks comprise different sizes, computer code for accumulating the compressed data chunks in the at least one allocated section, the compressed data chunks accumulated until the at least one allocated section includes an amount of compressed data chunks matching the predefined size, and computer code for writing said accumulated compressed data chunks into said at least one allocated section in accordance with an order said chunks of raw data are received; and if the characteristic does not match the predefined criterion; computer code for identifying the raw data chunks as being in a non-compressed form or a partly compressed form, computer code for accumulating the non-compressed or partly compressed data chunks in the at least one allocated section, the non-compressed or partly compressed data chunks accumulated until the at least one allocated section includes an amount of data chunks matching the predefined size, and computer code for writing said accumulated non-compressed or partly compressed data chunks into said at least one allocated section in accordance with an order said chunks of raw data are received. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification