System and method for detecting and sharing common blocks in an object storage system
First Claim
1. A method of optimizing storage of common data blocks within a networked storage system, said method comprising:
- receiving a data block to be stored in a networked storage system;
analyzing contents of a received data block to determine a number of copies of the data block the networked storage system is entrusted to store and a number of copies of the data block existing within the networked storage system, and to identify a location of each copy of the data block within the networked storage system;
identifying performance and reliability requirements of the networked storage system;
determining an optimal number of copies of the received data block to store in the networked storage system, wherein the determining is made according to the number of copies of the data block the networked storage system is entrusted to store in combination with the identified performance and reliability requirements of the networked storage system; and
maintaining the optimal number of copies of the received data block within the networked storage system.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method of optimizing storage of common data blocks within a networked storage system comprises receiving a data block to be stored in the networked storage system, analyzing contents of the received data block to determine how many copies of the data block the system is entrusted to store and how many copies of the data block existing within the system, and to identify a location of each copy of the data block within the system, identifying performance and reliability requirements of the system, determining an optimal number of copies of the received data block to store in the system, wherein the determination is made according to a number of copies of the data block the system is entrusted to store together with the identified performance and reliability requirements of the system, and maintaining the optimal number of copies of the received data block within the system.
-
Citations
33 Claims
-
1. A method of optimizing storage of common data blocks within a networked storage system, said method comprising:
-
receiving a data block to be stored in a networked storage system;
analyzing contents of a received data block to determine a number of copies of the data block the networked storage system is entrusted to store and a number of copies of the data block existing within the networked storage system, and to identify a location of each copy of the data block within the networked storage system;
identifying performance and reliability requirements of the networked storage system;
determining an optimal number of copies of the received data block to store in the networked storage system, wherein the determining is made according to the number of copies of the data block the networked storage system is entrusted to store in combination with the identified performance and reliability requirements of the networked storage system; and
maintaining the optimal number of copies of the received data block within the networked storage system. - View Dependent Claims (2, 3, 4)
-
-
5. A method of optimizing storage of common data blocks within a networked storage system, said method comprising:
-
identifying a data block within a storage area network (SAN);
determining a number of copies of the data block existing within the SAN;
determining a number of copies of the data block the SAN is entrusted to store;
identifying performance and reliability requirements of the SAN;
determining an optimal number of copies of the data block to store in the SAN according to the number of copies of the data block the SAN is entrusted to store in combination with the identified performance and reliability requirements of the SAN; and
maintaining the optimal number of copies of the data block. - View Dependent Claims (6, 7, 8)
-
-
9. A storage system for optimizing storage of common data blocks within said storage system comprising:
-
storage blocks comprising data;
a file allocation table configured to the storage blocks and operable for matching a file identifier associated with a file to a location in the storage blocks allocated to the file;
a free space map operable for tracking unallocated storage blocks;
a redundancy management controller configured to the free space map and operable for maintaining an optimal number of copies of the data in the storage blocks; and
an occurrence count determination controller configured to the redundancy management controller and operable for determining a number of copies of the data in the storage blocks the storage system is entrusted to store. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A networked storage system for optimizing storage of common data blocks within said networked storage system comprising:
-
means for identifying a data block within a storage area network (SAN);
means for determining a number of copies of the data block existing within the SAN;
means for determining a number of copies of the data block the SAN is entrusted to store;
means for identifying performance and reliability requirements of the SAN;
means for determining an optimal number of copies of the data block to store in the SAN according to the number of copies of the data block the SAN is entrusted to store in combination with the identified performance and reliability requirements of the SAN; and
means for maintaining the optimal number of copies of the data block.
-
-
26. A program storage device readable by computer, tangibly embodying a program of instructions executable by said computer to perform a method of optimizing storage of common data blocks within a networked storage system, the method comprising:
-
receiving a data block to be stored in a networked storage system;
analyzing contents of a received data block to determine a number of copies of the data block the networked storage system is entrusted to store and a number of copies of the data block existing within the networked storage system, and to identify a location of each copy of the data block within the networked storage system;
identifying performance and reliability requirements of the networked storage system;
determining an optimal number of copies of the received data block to store in the networked storage system, wherein said determining is made according to the number of copies of the data block the networked storage system is entrusted to store in combination with the identified performance and reliability requirements of the networked storage system; and
maintaining the optimal number of copies of the received data block within the networked storage system. - View Dependent Claims (27, 28, 29)
-
-
30. A program storage device readable by computer, tangibly embodying a program of instructions executable by said computer to perform a method of optimizing storage of common data blocks within a networked storage system, the method comprising:
-
identifying a data block within a storage area network (SAN);
determining a number of copies of the data block existing within the SAN;
determining a number of copies of the data block the SAN is entrusted to store;
identifying performance and reliability requirements of the SAN;
determining an optimal number of copies of the data block to store in the SAN according to the number of copies of the data block the SAN is entrusted to store in combination with the identified performance and reliability requirements of the SAN; and
maintaining the optimal number of copies of the data block. - View Dependent Claims (31, 32, 33)
-
Specification