Selective defragmentation based on IO hot spots
First Claim
1. In a data storage apparatus, a method of managing data fragmentation, the method comprising:
- receiving an indication that input/output (IO) access to particular data stored within a memory space has exceeded a predefined threshold level;
in response to the indication that IO access to the particular data stored within the memory space has exceeded the predefined threshold level, performing a defragmentation evaluation operation;
when a result of the defragmentation evaluation operation has a first value, performing a set of data movement operations which moves the particular data from a first set of storage locations of the memory space to a second set of storage locations of the memory space to improve defragmentation of the particular data; and
when the result of the defragmentation evaluation operation has a second value which is different than the first value, maintaining the particular data at the first set of storage locations of the memory space;
wherein receiving the indication that IO access to the particular data stored within the memory space has exceeded the predefined threshold level includes;
processing a historical log of locks imposed on the memory space to ascertain the number of times the particular data stored within the memory space was accessed during a recent time period;
wherein the historical log of locks imposed on the memory identifies ranges of extents which were locked during IO operations performed on the memory space; and
wherein processing the historical log of locks imposed on the memory space includes updating a set of counters based on the ranges of extents which were locked during the IO operations and which are identified by the historical log of locks.
10 Assignments
0 Petitions
Accused Products
Abstract
A technique of managing data fragmentation is performed in a data storage apparatus. The technique involves receiving an indication that IO access to particular data stored within a memory space has exceeded a predefined threshold level. The technique further involves performing, in response to the indication, a defragmentation evaluation operation. The technique further involves performing a set of data movement operations which moves the particular data from a first set of storage locations of the memory space to a second set of storage locations of the memory space to improve defragmentation of the particular data when a result of the defragmentation evaluation operation has a first value. The technique further involves maintaining the particular data at the first set of storage locations of the memory space when the result of the defragmentation evaluation operation has a second value which is different than the first value.
-
Citations
21 Claims
-
1. In a data storage apparatus, a method of managing data fragmentation, the method comprising:
-
receiving an indication that input/output (IO) access to particular data stored within a memory space has exceeded a predefined threshold level; in response to the indication that IO access to the particular data stored within the memory space has exceeded the predefined threshold level, performing a defragmentation evaluation operation; when a result of the defragmentation evaluation operation has a first value, performing a set of data movement operations which moves the particular data from a first set of storage locations of the memory space to a second set of storage locations of the memory space to improve defragmentation of the particular data; and when the result of the defragmentation evaluation operation has a second value which is different than the first value, maintaining the particular data at the first set of storage locations of the memory space; wherein receiving the indication that IO access to the particular data stored within the memory space has exceeded the predefined threshold level includes; processing a historical log of locks imposed on the memory space to ascertain the number of times the particular data stored within the memory space was accessed during a recent time period; wherein the historical log of locks imposed on the memory identifies ranges of extents which were locked during IO operations performed on the memory space; and wherein processing the historical log of locks imposed on the memory space includes updating a set of counters based on the ranges of extents which were locked during the IO operations and which are identified by the historical log of locks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data storage apparatus which manages data fragmentation, the data storage apparatus comprising:
-
a host interface; memory which provides a memory space; and processing circuitry coupled to the host interface and the memory, the processing circuitry being constructed and arranged to; receive an indication that input/output (IO) access to particular data stored within the memory space has exceeded a predefined threshold level, in response to the indication that IO access to the particular data stored within the memory space has exceeded the predefined threshold level, perform a defragmentation evaluation operation, when a result of the defragmentation evaluation operation has a first value, perform a set of data movement operations which moves the particular data from a first set of storage locations of the memory space to a second set of storage locations of the memory space to improve defragmentation of the particular data, and when the result of the defragmentation evaluation operation has a second value which is different than the first value, maintain the particular data at the first set of storage locations of the memory space; wherein the processing circuitry, when receiving the indication that IO access to the particular data stored within the memory space has exceeded the predefined threshold level, is constructed and arranged to; process a historical log of locks imposed on the memory space to ascertain the number of times the particular data stored within the memory space was accessed during a recent time period; wherein the historical log of locks imposed on the memory identifies ranges of extents which were locked during IO operations performed on the memory space; and wherein the processing circuitry, when processing the historical log of locks imposed on the memory space, is constructed and arranged to update a set of counters based on the ranges of extents which were locked during the IO operations and which are identified by the historical log of locks. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product having a non-transitory computer readable medium storing a set of instructions which, when carried out by computerized circuitry, directs the computerized circuitry to manage data fragmentation by performing a method comprising:
-
receiving an indication that input/output (IO) access to particular data stored within a memory space has exceeded a predefined threshold level; in response to the indication that IO access to the particular data stored within the memory space has exceeded the predefined threshold level, performing a defragmentation evaluation operation; when a result of the defragmentation evaluation operation has a first value, performing a set of data movement operations which moves the particular data from a first set of storage locations of the memory space to a second set of storage locations of the memory space to improve defragmentation of the particular data; and when the result of the defragmentation evaluation operation has a second value which is different than the first value, maintaining the particular data at the first set of storage locations of the memory space; wherein receiving the indication that IO access to the particular data stored within the memory space has exceeded the predefined threshold level includes; processing a historical log of locks imposed on the memory space to ascertain the number of times the particular data stored within the memory space was accessed during a recent time period; and wherein processing the historical log of locks imposed on the memory space includes updating a set of counters based on the ranges of extents which were locked during the IO operations and which are identified by the historical log of locks. - View Dependent Claims (20, 21)
-
Specification