Storing information on storage devices having different performance capabilities within a storage system
First Claim
1. A computer-implemented method comprising:
- associating a first storage device within a storage system with a first storage class;
associating a second storage device within the storage system with a second storage class;
wherein the first and second storage classes are based on the respective performance capabilities of at least the first and second storage devices, and wherein the first storage device has different performance capabilities than the second storage device; and
storing first data from a first extent, of a plurality of extents associated with a data file, in the first storage device; and
storing second data from a second extent, of the plurality of extents, in the second storage device;
wherein the decision of where to store the first and second data is made automatically based, at least in part, on the respective storage classes with which the first and second storage devices are associated.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for storing portions of files on different storage devices based on the devices'"'"' respective storage class. For example, different extents from a large file within a system, application, or database may be stored on different storage devices. The storage devices may be part of a single storage system that includes some storage devices that have different performance capabilities. The decision of where, within the storage classes, to store data may be based on the access patterns of the data. Access patterns regarding file extents are tracked using respective access bits, which are set when a memory block associated with an extent is accessed via an I/O operation. In one embodiment, an access bitmap is modified to account for cached blocks of file extents.
-
Citations
28 Claims
-
1. A computer-implemented method comprising:
-
associating a first storage device within a storage system with a first storage class;
associating a second storage device within the storage system with a second storage class;
wherein the first and second storage classes are based on the respective performance capabilities of at least the first and second storage devices, and wherein the first storage device has different performance capabilities than the second storage device; and
storing first data from a first extent, of a plurality of extents associated with a data file, in the first storage device; and
storing second data from a second extent, of the plurality of extents, in the second storage device;
wherein the decision of where to store the first and second data is made automatically based, at least in part, on the respective storage classes with which the first and second storage devices are associated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer-implemented method comprising:
-
monitoring, for a period of time, which persistent memory blocks in which a data container is stored are involved in an I/O operation;
for extents, of a plurality of extents associated with the container, that have a corresponding persistent memory block that was involved in an I/O operation during the period of time, setting a respective access bit to indicate an I/O operation involved that extent;
generating a first bitmap for the container based on the access bits, to indicate which extents of the plurality of extents were accessed during the period of time;
generating a second bitmap to indicate which extents, of the plurality of extents, have at least a portion of corresponding data cached in cache memory; and
generating a third bitmap based on the first and second bitmaps, to indicate which extents do not have any corresponding persistent memory blocks that were involved in an I/O operation and from which no portion of corresponding data was cached in cache memory. - View Dependent Claims (28)
-
Specification