Back to results
US 9,697,216 B2Granted
Method and apparatus for differentiated data placement
AssigneeSimpliVity Corporation
InventorsDavid Cordella, Arthur J. Beaverson, Steven Bagby
Life of this patent
Estimating the term…
Abstract
Method and apparatus for locating data on disk storage, wherein multiple instances of data can be stored at different locations to satisfy different use requirements such as read access, write access, and data security. The method allows a data storage system, such as a file system, to provide both read optimized and write optimized performance on disk storage of different types (e.g., sizes and speed).
Claims19
A storage system comprising:
- an interface component of a file-based storage system or a block storage manager for placing, by one or more processors, data for storage at physical locations on disk storage, wherein the interface component references each data element in the data by a globally unique identifier (GUID) derived from the content of the data element such that the GUID must change when content of the data element changes, and wherein the GUID does not change based on where multiple instances of the data element are stored at different physical locations on the disk storage;
- a mapping index, accessible by the one or more processors, that stores, for a single GUID, multiple pointers to different physical locations on the disk storage for multiple instances of the data element;
- and
- a location strategizer for dynamically determining, by the one or more processors, the different physical locations on the disk storage for storing the multiple instances of the data element as the data element is referenced by the interface component during storage system activity, and wherein the location strategizer stores the multiple instances of the data element within different data sequences at the different locations on the disk storage for read optimization and write optimization, the different data sequences having different orders of the stored data elements.
1 more element
A non-transitory computer medium containing executable program instructions for executing a method comprising:
- referencing each data element by a globally unique identifier (GUID) derived from the content of the data element such that the GUID must change when content of the data element changes, and wherein the GUID does not change based on where multiple instances of the data element are stored at different physical locations on a disk storage;
- maintaining a mapping index that stores, for a single GUID, multiple pointers to different physical locations on the disk storage for storing multiple instances of the data element;
- dynamically determining, as the data element is referenced during storage system activity, the physical locations for storing the multiple instances of the data element at the different locations on the disk storage to benefit I/O profiles for both read access and write access;
- and
- storing the multiple instances of the data element at the determined different locations within different data sequences at the different locations on the disk storage for read optimization and write optimization, the different data sequences having different orders of the stored data elements.
2 more elements
Dependencies are inferred from the claim text.