System and method for storing data off site
First Claim
Patent Images
1. A data storage system, comprising:
- a processor;
a first memory configured as a first storage layer for storing blocks of data;
a second memory configured as a second storage layer for storing segments of data;
a third memory coupled to one or more processors, the memory having program instructions stored thereon that, upon execution by the processors, cause the data storage system to;
receive a storage request from an external system, the storage request including new data to be stored;
select an existing data block from the first storage layer for removal to the second storage layer;
slice the selected existing data block into segments, wherein each segment is uniquely identified by a fingerprint;
identify any segments that are duplicates of segments already stored in the second storage layer, wherein duplicates are identified based on the segment fingerprints;
transfer any non-duplicate segments from the first storage layer to the second storage layer, wherein each transfer of a segment to the second storage layer is mapped in a first storage map by the fingerprint of the segment;
store the new data in the first storage layer, wherein the storage of the new data in the first storage layer is mapped in the first storage map;
select one or more segments from the second storage layer for removal to a third storage layer, wherein the third storage layer is hosted by a bulk storage system; and
transfer the selected segments from the second storage layer to the third storage layer,wherein each transfer of a selected segment to the third storage layer is mapped in the first storage map by the fingerprint of the selected segment.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for efficiently storing data both on-site and off-site in a cloud storage system. Data read and write requests are received by a cloud data storage system. The cloud storage system has at least three data storage layers. A first high-speed layer, a second efficient storage layer, and a third off-site storage layer. The first high-speed layer stores data in raw data blocks. The second efficient storage layer divides data blocks from the first layer into data slices and eliminates duplicate data slices. The third layer stores data slices at an off-site location.
-
Citations
20 Claims
-
1. A data storage system, comprising:
-
a processor; a first memory configured as a first storage layer for storing blocks of data; a second memory configured as a second storage layer for storing segments of data; a third memory coupled to one or more processors, the memory having program instructions stored thereon that, upon execution by the processors, cause the data storage system to; receive a storage request from an external system, the storage request including new data to be stored; select an existing data block from the first storage layer for removal to the second storage layer; slice the selected existing data block into segments, wherein each segment is uniquely identified by a fingerprint; identify any segments that are duplicates of segments already stored in the second storage layer, wherein duplicates are identified based on the segment fingerprints; transfer any non-duplicate segments from the first storage layer to the second storage layer, wherein each transfer of a segment to the second storage layer is mapped in a first storage map by the fingerprint of the segment; store the new data in the first storage layer, wherein the storage of the new data in the first storage layer is mapped in the first storage map; select one or more segments from the second storage layer for removal to a third storage layer, wherein the third storage layer is hosted by a bulk storage system; and transfer the selected segments from the second storage layer to the third storage layer, wherein each transfer of a selected segment to the third storage layer is mapped in the first storage map by the fingerprint of the selected segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for storing data in a three-tiered data storage system including a first storage layer configured for storing blocks of data, a second storage layer configured for storing segments of data and a third storage layer configured for bulk storage of segments of data, the method comprising:
-
receiving a storage request from an external system, the storage request including new data to be stored; selecting an existing data block from the first storage layer for removal to the second storage layer; slicing the selected existing data block into segments, wherein each segment is uniquely identified by a fingerprint; identifying any segments that are duplicates of segments already stored in the second storage layer, wherein duplicates are identified based on the segment fingerprints; transferring any non-duplicate segments from the first storage layer to the second storage layer, wherein each transfer of a segment to the second storage layer is mapped in a first storage map by the fingerprint of the segment; storing the new data in the first storage layer, wherein the storage of the new data in the first storage layer is mapped in the first storage map; selecting one or more segments from the second storage layer for removal to a third storage layer, wherein the third storage layer is hosted by a bulk storage system; and transferring the selected segments from the second storage layer to the third storage layer, wherein each transfer of a selected segment to the third storage layer is mapped in the first storage map by the fingerprint of the selected segment. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification