# US 10,481,823 B2 · Data storage system performing data relocation based on temporal proximity of accesses

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,481,823 B2
- Document ID: US10481823B2
- Status: Granted
- Kind: B2
- Application number: 15/901,549
- Filed: 2018-02-21
- Published: 2019-08-22
- Granted: 2019-11-19
- Earliest claimed: 2018-02-21
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Sergio Reyes; Brian C. Twichell; Yijie Zhang; Samuel K. Ingram
- Web page: https://patentgrep.com/patent/US10481823B2

## CPC

- G06F 3/061: {Improving I/O performance}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/0611: {in relation to response time}
- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data storage system includes first and second storage devices accessed via first and second hardware channels, respectively. A storage controller receives a first access request requesting access to first data and a second access request requesting access to second data, where both the first data and the second data are accessed via the first hardware channel. In response to detecting receipt of the first and second access requests within a same service window defining a range of temporal proximity, the storage controller records an association of identifiers of the first data and second data requested by the first and second access requests, respectively. The storage controller thereafter migrates the second data accessed by the second access request from the first storage device to the second storage device based on the recorded association, such that the first and second data are available for access via different hardware channels.

## Claims

### Claim 1

A method of managing data migration in a data storage system including at least first and second storage devices accessed via first and second hardware channels, respectively, the method comprising:
a storage controller of the data storage system receiving a first access request requesting access to first data and a second access request requesting access to second data, wherein both the first data and the second data are accessed via the first hardware channel;
in response to detecting receipt of the first and second access requests within a same service window defining a range of temporal proximity, the storage controller recording an association of identifiers of the first data and second data requested by the first and second access requests as an access pair in an access data structure, wherein the access data structure tracks a number of occurrences the access pair of the first and second access requests were detected within the same service window; and
the storage controller thereafter periodically analyzes the access data structure, and determines to migrate the second data accessed by the second access request from the first storage device to a candidate storage device based on the recorded association when the number of occurrences for the access pair in the access data structure exceeds a migration threshold; and
the storage controller, in response to determining to migrate the second data, migrating the second data from the first storage device to the candidate storage device, such that the first and second data are available for access via different hardware channels.

### Claim 2 (depends on 1)

The method of claim 1, wherein: the first hardware channel has an access latency; and the service window is at least equal in duration to the access latency of the first hardware channel.

### Claim 3 (depends on 1)

The method of claim 1, wherein: the service window is at least equal in duration to a seek time of the first storage device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the recording includes: recording an identifier of the second storage device in the access data structure as the candidate storage device to which the second data can be migrated.

### Claim 5 (depends on 4)

The method of claim 4, and further comprising: updating the candidate storage device to which the second data can be migrated based on access frequency of at least one of a set including the first data and the second data.

### Claim 6

A data storage system, comprising:
a storage controller configured to perform:
the storage controller receiving a first access request requesting access to first data and a second access request requesting access to second data, wherein both the first data and the second data are accessed via a first hardware channel;
in response to detecting receipt of the first and second access requests within a same service window defining a range of temporal proximity, the storage controller recording an association of identifiers of the first data and second data requested by the first and second access requests as an access pair in an access data structure, wherein the access data structure tracks a number of occurrences the access pair of the first and second access requests were detected within the same service window; and
the storage controller thereafter periodically analyzes the access data structure, and determines to migrate the second data accessed by the second access request from the first storage device to a candidate storage device based on the recorded association when the number of occurrences for the access pair in the access data structure exceeds a migration threshold; and
the storage controller, in response to determining to migrate the second data, migrating the second data from the first storage device to the candidate storage device, such that the first and second data are available for access via different hardware channels.

### Claim 7 (depends on 6)

The data storage system of claim 6, wherein: the first hardware channel has an access latency; and the service window is at least equal in duration to the access latency of the first hardware channel.

### Claim 8 (depends on 6)

The data storage system of claim 6, wherein: the service window is at least equal in duration to a seek time of the first storage device.

### Claim 9 (depends on 6)

The data storage system of claim 6, wherein the recording includes: recording an identifier of the second storage device in the access data structure as the candidate storage device to which the second data can be migrated.

### Claim 10 (depends on 9)

The data storage system of claim 9, wherein the storage controller is further configured to perform: updating the candidate storage device to which the second data can be migrated based on access frequency of at least one of a set including the first data and the second data.

### Claim 11 (depends on 6)

The data storage system of claim 6, and further comprising the first and second storage devices.

### Claim 12

A computer program product, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a storage controller to cause the storage controller to perform:
the storage controller receiving a first access request requesting access to first data and a second access request requesting access to second data, wherein both the first data and the second data are accessed via a first hardware channel;
in response to detecting receipt of the first and second access requests within a same service window defining a range of temporal proximity, the storage controller recording an association of identifiers of the first data and second data requested by the first and second access requests as an access pair in an access data structure, wherein the access data structure tracks a number of occurrences the access pair of the first and second access requests were detected within the same service window; and
the storage controller thereafter periodically analyzes the access data structure, and determines to migrate the second data accessed by the second access request from the first storage device to a candidate storage device based on the recorded association when the number of occurrences for the access pair in the access data structure exceeds a migration threshold; and
the storage controller, in response to determining to migrate the second data, migrating the second data from the first storage device to the candidate storage device, such that the first and second data are available for access via different hardware channels.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein: the first hardware channel has an access latency; and the service window is at least equal in duration to the access latency of the first hardware channel.

### Claim 14 (depends on 12)

The computer program product of claim 12, wherein: the service window is at least equal in duration to a seek time of the first storage device.

### Claim 15 (depends on 12)

The computer program product of claim 12, wherein the recording includes: recording an identifier of the second storage device in the access data structure as the candidate storage device to which the second data can be migrated.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the program instructions further cause the storage controller to perform: updating the candidate storage device to which the second data can be migrated based on access frequency of at least one of a set including the first data and the second data.
