IP Library › Granted Patent US 8,346,990
Granted Patent B2
US 8,346,990 · App. 13/017,456 · Granted Jan 1, 2013

Methods and systems for tracking data activity levels

Assignee: LSI Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,346,990
App. No.
13/017,456
Granted
Jan 1, 2013
Kind
B2
Abstract

methods and systems for monitoring data activity may include various operations, including, but not limited to: modifying a value of at least one counter in response to one or more input/output requests directed to at least one data storage region during a first time interval; storing a first cumulative value of the counter modified in response to one or more input/output requests directed to at least one data storage region during the first time interval following the expiration of the first time interval; modifying a value of at least one counter in response to one or more requests directed to the at least one data storage region during a second time interval; storing a second cumulative value of the counter modified in response to one or more requests directed to the at least one data storage region during the second time interval following the expiration of the second time interval; and computing at least one activity index for the at least one data storage region from at least the first cumulative value and the second cumulative value.

Claims (87)

1. A method for tracking data activity levels comprising:

partitioning a data storage space into a plurality of data storage regions, the plurality of data storage regions including a first data storage region having a first size and a second data storage region having a second size, the first size different than the second size;

modifying a value of a first counter in response to one or more input/output requests directed to the first data storage region during a first time interval;

storing a first cumulative value of the first counter modified in response to one or more input/output requests directed to the first data storage region during the first time interval following the expiration of the first time interval;

modifying a value of the first counter in response to one or more input/output requests directed to the first data storage region during a second time interval;

storing a second cumulative value of the first counter modified in response to one or more input/output requests directed to the first data storage region during the second time interval following the expiration of the second time interval;

modifying a value of a second counter in response to one or more requests directed to a second data storage region during the first time interval;

storing a first cumulative value of the second counter modified in response to one or more requests directed to the second data storage region during the first time interval following the expiration of the first time interval;

modifying a value of the second counter in response to one or more input/output requests directed to the second data storage region during a second time interval;

storing a second cumulative value of the second counter modified in response to one or more input/output requests directed to the second data storage region during the second time interval following the expiration of the second time interval;

computing at least one activity index for the first data storage region from at least the first cumulative value of the first counter and the second cumulative value of the first counter; and

computing at least one activity index for the second data storage region from at least the first cumulative value of the second counter and the second cumulative value of the second counter.

2. The method of claim 1 , wherein the modifying a value of a first counter in response to one or more input/output requests directed to the first data storage region during a first time interval further comprises:

modifying a value of a counter in response to an input/output request selected from:

one or more read requests,

one or more write requests,

one or more input/output requests for data having a size either greater or less than a threshold size,

one or more random requests, and

one or more sequential requests.

3. The method of claim 1 , wherein the modifying a value of a first counter in response to one or more input/output requests directed to the first data storage region during a first time interval comprises:

modifying a value of a first counter in response to an input/output request from a first client device directed to the first data storage region during the first time interval; and

wherein the modifying a value of a second counter in response to one or more input/output requests directed to the second data storage region during the first time interval comprises:

modifying a value of a second counter in response to an input/output request from a second client device directed to the second data storage region during the first time interval.

4. The method of claim 1 , further comprising:

aggregating the first counter modified in response to one or more input/output requests directed to the first data storage region during the first time interval and

the second counter modified in response to one or more input/output requests directed to a second data storage region during the first time interval.

5. The method of claim 1 , wherein the second time interval has a duration different than the first time interval.

6. The method of claim 1 , wherein the modifying a value of a first counter in response to one or more input/output requests directed to the first data storage region during a first time interval comprises:

modifying a value of the first counter in response to a first input/output request type directed to the first data storage region during the first time interval; and

modifying a value of a third counter in response to a second input/output request type directed to the first data storage region during the first time interval.

7. The method of claim 1 , wherein the computing at least one activity index for the first data storage region from at least the first cumulative value of the first counter and the second cumulative value of the first counter comprises:

computing an average of at least the cumulative value of the first counter following the expiration of the first time interval and the cumulative value of the first counter following the expiration of the second time interval.

8. The method of claim 1 , wherein the computing at least one activity index for the first data storage region from at least the first cumulative value of the first counter and the second cumulative value of the first counter comprises:

computing a weighted average of at least the cumulative value of the first counter following the expiration of the first time interval and the cumulative value of the first counter following the expiration of the second time interval.

9. The method of claim 1 , further comprising:

providing at least one activity index for the first data storage region to at least one client device.

10. The method of claim 1 , further comprising:

migrating data from the first data storage region to at least the second data storage region according to the activity index for the first data storage region.

11. The method of claim 1 , further comprising:

storing information regarding latency of the input/output requests directed to the first data storage region during the first time interval.

12. A system for tracking data activity levels comprising:

means for partitioning a data storage space into a plurality of data storage regions, the plurality of data storage regions including a first data storage region having a first size and a second data storage region having a second size, the first size different than the second size;

means for modifying a value of a first counter in response to one or more input/output requests directed to the first data storage region during a first time interval;

means for storing a first cumulative value of the first counter modified in response to one or more input/output requests directed to the first data storage region during the first time interval following the expiration of the first time interval;

means for modifying a value of the first counter in response to one or more input/output requests directed to the first data storage region during a second time interval;

means for storing a second cumulative value of the first counter modified in response to one or more input/output requests directed to the first data storage region during the second time interval following the expiration of the second time interval;

means for modifying a value of a second counter in response to one or more requests directed to a second data storage region during the first time interval;

means for storing a first cumulative value of the second counter modified in response to one or more requests directed to the second data storage region during the first time interval following the expiration of the first time interval;

means for modifying a value of a second counter in response to one or more requests directed to a second data storage region during a second time interval;

means for storing a second cumulative value of the second counter modified in response to one or more requests directed to the second data storage region during the second time interval following the expiration of the second time interval; and

means for computing at least one activity index for the first data storage region from at least the first cumulative value of the first counter and the second cumulative value of the first counter; and

means for computing at least one activity index for the second data storage region from at least the first cumulative value of the second counter and the second cumulative value of the second counter.

13. The system of claim 12 , wherein the means for modifying a value of the first counter in response to one or more input/output requests directed to at least one data storage region during a first time interval further comprises:

means for modifying a value of a counter in response to an input/output request selected from:

one or more read requests,

one or more write requests,

one or more input/output requests for data having a size either greater or less than a threshold size,

one or more random requests, and

one or more sequential requests.

14. The system of claim 12 ,

wherein the means for modifying a value of the first counter in response to one or more input/output requests directed to the first data storage region during a first time interval comprises:

means for modifying a value of a first counter in response to an input/output request from a first client device directed to the first data storage region during the first time interval; and

wherein the means for modifying a value of the second counter in response to one or more input/output requests directed to the first data storage region during a first time interval comprises:

means for modifying a value of a second counter in response to an input/output request from a second client device directed to the second data storage region during the first time interval.

15. The system of claim 12 , further comprising:

means for aggregating

the first counter modified in response to one or more input/output requests directed to a first data storage region during the first time interval, and

the second counter modified in response to one or more input/output requests directed to a second data storage region during the first time interval.

16. The system of claim 12 , wherein the second time interval has a duration different than the first time interval.

17. The system of claim 12 , wherein the means for modifying a value of the first counter in response to one or more input/output requests directed to the first data storage region during a first time interval comprises:

means for modifying the value of a first counter in response to a first input/output request type directed to the first data storage region during the first time interval; and

means for modifying a value of the second counter in response to a second input/output request type directed to the first data storage region during the first time interval.

18. The system of claim 12 , further comprising:

means for migrating data from the at least one data storage region to at least a second data storage region according to an activity index associated with the at least one data storage region.

19. The system of claim 12 , further comprising:

storing information regarding latency of the input/output requests directed to the at least one data storage region during the first time interval.

20. A system for tracking data activity levels comprising:

circuitry for modifying a value of a first counter in response to one or more input/output requests directed to a first data storage region during a first time interval;

circuitry for storing a first cumulative value of the first counter modified in response to one or more input/output requests directed to the first data storage region during the first time interval following the expiration of the first time interval;

circuitry for modifying a value of the first counter in response to one or more requests directed to the first data storage region during a second time interval;

circuitry for storing a second cumulative value of the first counter modified in response to one or more requests directed to the first data storage region during the second time interval following the expiration of the second time interval; and

circuitry for computing at least one activity index for the first data storage region from at least the first cumulative value of the first counter and the second cumulative value of the first counter; and

circuitry for modifying a value of a second counter in response to one or more input/output requests directed to a second data storage region during the first time interval, the second data storage region sized differently than the first data storage region;

circuitry for storing a first cumulative value of the second counter modified in response to one or more input/output requests directed to the second data storage region during the first time interval following the expiration of the first time interval;

circuitry for modifying a value of the second counter in response to one or more requests directed to the second data storage region during a second time interval;

circuitry for storing a second cumulative value of the second counter modified in response to one or more requests directed to the second data storage region during the second time interval following the expiration of the second time interval; and

circuitry for computing at least one activity index for the second data storage region from at least the first cumulative value of the second counter and the second cumulative value of the second counter.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2011
From: MCKEAN, BRIAN; HUMLICEK, DONALD; LYNN, JAMES A.; SNIDER, TIMOTHY
To: LSI CORPORATION
Reel/Frame 025722/0066 →
Continuity (1)
Related Publication 20120198105A1 · Aug 2, 2012