Method and system for mitigating adjacent track erasure in hard disk drives
Abstract
A method, system, and computer program product for mitigating adjacent track erasures in hard disks, includes: determining input/output (I/O) characteristics for a plurality of blocks on a hard disk; assigning the plurality of blocks to a plurality of categories of I/O characteristics by the processor; and clustering content of the blocks assigned to the same category in one or more continuous tracks on the hard disk. Each block is assigned to one category. Blocks with similar I/O characteristics are clustered on one or more continuous tracks. By performing this clustering, blocks with a high number of I/O operations are grouped and stored on fewer tracks than if they were scattered across numerous tracks. This reduces the number of tracks experiencing a high number of I/O operations, and in turn, the amount of refreshing of adjacent tracks is reduced.
Claims
exact text as granted — not AI-modified1 . A method implemented by a computing device for mitigating adjacent track erasures in hard disks, the computing device operationally coupled to a processor, the method comprising:
determining input/output (I/O) characteristics for a plurality of blocks on a hard disk by the processor; assigning the plurality of blocks to a plurality of categories of I/O characteristics by the processor; and clustering content of the blocks assigned to the same category in one or more continuous tracks on the hard disk by the processor.
2 . The method of claim 1 , wherein the determining the I/O characteristics for the plurality of blocks on the hard disk by the processor comprises: determining secure deletion requirements for the plurality of blocks on the hard disk by the processor, the secure deletion requirements comprising overwriting rates for the plurality of blocks;
wherein the assigning the plurality of blocks to the plurality of categories of I/O characteristics by the processor comprises: assigning the plurality of blocks to a plurality of categories associated with the overwriting rates; and wherein the clustering the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk by the processor comprises: clustering the content of the blocks assigned to the same overwriting rate category in the one or more continuous tracks on the hard disk by the processor.
3 . The method of claim 1 , wherein the determining the I/O characteristics for the plurality of blocks on the hard disk by the processor comprises: determining expected access frequencies for a given time period for the plurality of blocks on the hard disk by the processor;
wherein the assigning the plurality of blocks to the plurality of categories of I/O characteristics by the processor comprises: assigning the plurality of blocks to a plurality of categories of expected access frequencies for the given time period by the processor; and wherein the clustering the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk by the processor comprises: clustering the content of the blocks assigned to the same category of expected access frequency in the one or more continuous tracks on the hard disk by the processor.
4 . The method of claim 1 , wherein the determining the I/O characteristics for the plurality of blocks on the hard disk by the processor comprises:
assigning a plurality of counters for the plurality of blocks of the hard disk by the processor, and for each of the plurality of blocks, incrementing by the processor the counter for the block each time a read operation or a write operation is performed on the block; wherein the assigning the plurality of blocks to the plurality of categories of I/O characteristics by the processor comprises: assigning one of the plurality of categories to each of the plurality of blocks by the processor, wherein the plurality of categories are defined based on thresholds of the plurality of counter values; wherein the clustering the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk by the processor comprises: clustering the content of the blocks assigned the same counter value category in the one or more continuous tracks on the hard disk by the processor.
5 . The method of claim 1 , wherein the determining the I/O characteristics for the plurality of blocks on the hard disk by the processor comprises: maintaining a table comprising a number of accesses and remanence states of the plurality of blocks on the hard disk by the processor;
wherein the assigning the plurality of blocks to the plurality of categories of I/O characteristics by the processor comprises:
defining a space by the processor representing the plurality of blocks with attribute dimensions comprising the number of accesses, time, and the remanence states,
placing objects representing the plurality of blocks within the space by the processor, and
applying a K-means clustering algorithm on the objects by the processor using a plurality of categories of the attribute dimensions as classes;
wherein the clustering the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk by the processor comprises: storing the content of the plurality of blocks in each cluster in the space in the one or more continuous tracks on the hard disk by the processor.
6 . The method of claim 1 , further comprising:
performing at least one overwrite operation on at least one of the plurality of blocks of a track on the hard disk by the processor; determining by the processor if a predetermined threshold of overwrites for the block is reached; and in response to determining that the predetermined threshold of overwrites for the block is reached, refreshing content of adjacent tracks by the processor.
7 . A computer program product for mitigating adjacent track erasure in hard disks, the computer program product comprising:
a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to:
determine input/output (I/O) characteristics for a plurality of blocks on a hard disk;
assign the plurality of blocks to a plurality of categories of I/O characteristics; and
cluster content of the blocks assigned to the same category in one or more continuous tracks on the hard disk.
8 . The computer program product of claim 7 , wherein the computer readable program code configured to determine the I/O characteristics for the plurality of blocks on the hard disk is further configured to: determine secure deletion requirements for the plurality of blocks on the hard disk, the secure deletion requirements comprising overwriting rates for the plurality of blocks;
wherein the computer readable program code configured to assign the plurality of blocks to the plurality of categories of I/O characteristics is further configured to: assign the plurality of blocks to a plurality of categories associated with the overwriting rates; and wherein the computer readable program code configured to cluster the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk is further configured to: cluster the content of the blocks assigned to the same overwriting rate category in the one or more continuous tracks on the hard disk.
9 . The computer program product of claim 7 , wherein the computer readable program code configured to determine the I/O characteristics for the plurality of blocks on the hard disk is further configured to: determine expected access frequencies for a given time period for the plurality of blocks on the hard disk;
wherein the computer readable program code configured to assign the plurality of blocks to the plurality of categories of I/O characteristics is further configured to: assign the plurality of blocks to a plurality of categories of expected access frequencies for the given time period; and wherein the computer readable program code configured to cluster the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk is further configured to: cluster the content of the blocks assigned to the same category of expected access frequency in the one or more continuous tracks on the hard disk.
10 . The computer program product of claim 7 , wherein the computer readable program code configured to determine the I/O characteristics for the plurality of blocks on the hard disk is further configured to:
assign a plurality of counters for the plurality of blocks of the hard disk, and for each of the plurality of blocks, increment the counter for the block each time a read operation or a write operation is performed on the block; wherein the computer readable program code configured to assign the plurality of blocks to the plurality of categories of I/O characteristics is further configured to: assign one of the plurality of categories to each of the plurality of blocks, wherein the plurality of categories are defined based on thresholds of the plurality of counter values; wherein the computer readable program code configured to cluster the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk is further configured to: cluster the content of the blocks assigned the same counter value category in the one or more continuous tracks on the hard disk.
11 . The computer program product of claim 7 , wherein the computer readable program code configured to determine the I/O characteristics for the plurality of blocks on the hard disk is further configured to: maintain a table comprising a number of accesses and remanence states of the plurality of blocks on the hard disk;
wherein the computer readable program code configured to assign the plurality of blocks to the plurality of categories of I/O characteristics is further configured to:
define a space representing the plurality of blocks with attribute dimensions comprising the number of accesses, time, and the remanence states,
place objects representing the plurality of blocks within the space, and
apply a K-means clustering algorithm on the objects using a plurality of categories of the attribute dimensions as classes;
wherein the computer readable program code configured to cluster the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk is further configured to: store the content of the plurality of blocks in each cluster in the space in the one or more continuous tracks on the hard disk.
12 . The computer program product of claim 7 , wherein computer readable program code is further configured to:
perform at least one overwrite operation on at least one of the plurality of blocks of a track on the hard disk; determine if a predetermined threshold of overwrites for the block is reached; and in response to determining that the predetermined threshold of overwrites for the block is reached, refresh content of adjacent tracks.
13 . A system comprising:
at least one hard disk comprising a plurality of tracks, each track comprising a plurality of blocks; a processor; and a computer readable storage medium operationally coupled to the processor, the computer readable storage medium having computer readable program code embodied therewith to be executed by the processor, the computer readable program code configured to:
determine input/output (I/O) characteristics for the plurality of blocks on the hard disk;
assign the plurality of blocks to a plurality of categories of I/O characteristics; and
cluster content of the blocks assigned to the same category in one or more continuous tracks of the plurality of tracks on the hard disk.
14 . The system of claim 13 , wherein the computer readable program code configured to determine the I/O characteristics for the plurality of blocks on the hard disk is further configured to: determine secure deletion requirements for the plurality of blocks on the hard disk, the secure deletion requirements comprising overwriting rates for the plurality of blocks;
wherein the computer readable program code configured to assign the plurality of blocks to the plurality of categories of I/O characteristics is further configured to: assign the plurality of blocks to a plurality of categories associated with the overwriting rates; and wherein the computer readable program code configured to cluster the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk is further configured to: cluster the content of the blocks assigned to the same overwriting rate category in the one or more continuous tracks on the hard disk.
15 . The system of claim 13 , wherein the computer readable program code configured to determine the I/O characteristics for the plurality of blocks on the hard disk is further configured to: determine expected access frequencies for a given time period for the plurality of blocks on the hard disk;
wherein the computer readable program code configured to assign the plurality of blocks to the plurality of categories of I/O characteristics is further configured to: assign the plurality of blocks to a plurality of categories of expected access frequencies for the given time period; and wherein the computer readable program code configured to cluster the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk is further configured to: cluster the content of the blocks assigned to the same category of expected access frequency in the one or more continuous tracks on the hard disk.
16 . The system of claim 13 , wherein the computer readable program code configured to determine the I/O characteristics for the plurality of blocks on the hard disk is further configured to:
assign a plurality of counters for the plurality of blocks of the hard disk, and for each of the plurality of blocks, increment the counter for the block each time a read operation or a write operation is performed on the block; wherein the computer readable program code configured to assign the plurality of blocks to the plurality of categories of I/O characteristics is further configured to: assign one of the plurality of categories to each of the plurality of blocks, wherein the plurality of categories are defined based on thresholds of the plurality of counter values; wherein the computer readable program code configured to cluster the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk is further configured to: cluster the content of the blocks assigned the same counter value category in the one or more continuous tracks on the hard disk.
17 . The system of claim 13 , wherein the computer readable program code configured to determine the I/O characteristics for the plurality of blocks on the hard disk is further configured to: maintain a table comprising a number of accesses and remanence states of the plurality of blocks on the hard disk;
wherein the computer readable program code configured to assign the plurality of blocks to the plurality of categories of I/O characteristics is further configured to:
define a space representing the plurality of blocks with attribute dimensions comprising the number of accesses, time, and the remanence states,
place objects representing the plurality of blocks within the space, and
apply a K-means clustering algorithm on the objects using a plurality of categories of the attribute dimensions as classes;
wherein the computer readable program code configured to cluster the content of the blocks assigned to the same category in the one or more continuous tracks on the hard disk is further configured to: store the content of the plurality of blocks in each cluster in the space in the one or more continuous tracks on the hard disk.
18 . The system of claim 13 , wherein computer readable program code is further configured to:
perform at least one overwrite operation on at least one of the plurality of blocks of a track on the hard disk; determine if a predetermined threshold of overwrites for the block is reached; and in response to determining that the predetermined threshold of overwrites for the block is reached, refresh content of adjacent tracks.
19 . A computer implemented method for mitigating adjacent track erasures in hard disks, the computer operationally coupled to a processor, the method comprising:
determining input/output (I/O) characteristics for a plurality of blocks on the hard disk by the processor, the I/O characteristics comprising secure deletion requirements, the secure deletion requirements comprising overwriting rates for the plurality of blocks; assigning the plurality of blocks to a plurality of categories associated with the overwriting rates by the processor; and clustering content of the blocks assigned to the same overwriting rate category in one or more continuous tracks on the hard disk by the processor.
20 . The method of claim 19 , wherein the I/O characteristics further comprises expected access frequencies for a given time period for the plurality of blocks on the hard disk,
wherein the determining the I/O characteristics for the plurality of blocks on the hard disk by the processor, the I/O characteristics comprising secure deletion requirements, the secure deletion requirements comprising the overwriting rates for the plurality of blocks, further comprises: determining the expected access frequencies for the given time period for the plurality of blocks on the hard disk by the processor; wherein the assigning the plurality of blocks to the plurality of categories associated with the overwriting rates by the processor further comprises: assigning the plurality of blocks to a plurality of categories of expected access frequencies for the given time period by the processor; and wherein the clustering the content of the blocks assigned to the same overwriting rate category in the one or more continuous tracks on the hard disk by the processor further comprises: clustering the content of the blocks assigned to the same category of expected access frequency in the one or more continuous tracks on the hard disk by the processor.
21 . The method of claim 19 , wherein the I/O characteristics further comprises counter values for the plurality of blocks on the hard disk,
wherein the determining the I/O characteristics for the plurality of blocks on the hard disk by the processor, the I/O characteristics comprising secure deletion requirements, the secure deletion requirements comprising the overwriting rates for the plurality of blocks, further comprises:
assigning a plurality of counters for the plurality of blocks of the hard disk by the processor, and
for each of the plurality of blocks, incrementing by the processor the counter for the block each time a read operation or a write operation is performed on the block;
wherein the assigning the plurality of blocks to the plurality of categories associated with the overwriting rates by the processor further comprises: assigning one of the plurality of categories to each of the plurality of blocks by the processor, wherein the plurality of categories are defined based on thresholds of the plurality of counter values; wherein the clustering the content of the blocks assigned to the same overwriting rate category in the one or more continuous tracks on the hard disk by the processor further comprises: clustering the content of the blocks assigned the same counter value category in the one or more continuous tracks on the hard disk by the processor.
22 . The method of claim 19 , wherein the determining the I/O characteristics for the plurality of blocks on the hard disk by the processor, the I/O characteristics comprising secure deletion requirements, the secure deletion requirements comprising the overwriting rates for the plurality of blocks, further comprises: maintaining a table comprising a number of accesses and remanence states of the plurality of blocks on the hard disk by the processor;
wherein the assigning the plurality of blocks to the plurality of categories associated with the overwriting rates by the processor further comprises:
defining a space by the processor representing the plurality of blocks with attribute dimensions comprising the number of accesses, time, and the remanence states, and
placing objects representing the plurality of blocks within the space by the processor, and
applying a K-means clustering algorithm on the objects by the processor using a plurality of categories of the attribute dimensions as classes;
wherein the clustering the content of the blocks assigned to the same overwriting rate category in the one or more continuous tracks on the hard disk by the processor further comprises: storing the content of the plurality of blocks in each cluster in the space in the one or more continuous tracks on the hard disk by the processor.
23 . The method of claim 19 , further comprising:
performing at least one overwrite operation on at least one of the plurality of blocks of a track on the hard disk by the processor; determining by the processor if a predetermined threshold of overwrites for the block is reached; and in response to determining that the predetermined threshold of overwrites for the block is reached, refreshing content of adjacent tracks by the processor.Join the waitlist — get patent alerts
Track US2012089774A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.