IP Library Granted Patent US 6,883,066
Granted Patent B2
US 6,883,066 · App. 10/014,371 · Granted Apr 19, 2005

Method and system for cache management algorithm selection

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 6,883,066
App. No.
10/014,371
Granted
Apr 19, 2005
Kind
B2
Abstract

In a data storage device, a system of method of optimizing cache management. A method includes selecting a set of cache management algorithms associated with a predetermined pattern in a sequence of commands. Statistics based on a sequence of commands are gathered and a pattern is detected from the statistics. The pattern is associated with predetermined known patterns to identify a set of cache management algorithms that are optimized for the known pattern. A system includes usage statistics that are correlated among a set of known usage patterns. A switch chooses the set of cache management algorithms associated with the known pattern that most closely matches the usage statistics.

Claims (43)

1. A method of optimizing cache management in a data storage device in operable communication with a host computer, the method comprising steps of:

(a) receiving a command from the host computer exhibiting a data usage pattern;

(b) selecting a cache management algorithm based on the data usage pattern by:

(b)(i) updating a set of usage statistics in response to receipt of the command; and

(b)(i)(1) correlating the set of data usage statistics with a predetermined set of usage patterns associated with known host computer platforms to identify one of the host computer platforms that most closely matches the set of usage statistics; and

(b)(ii) determining whether a chance is detected in the data usage pattern; and

(b)(iii) if a change is detected in the data usage pattern, selecting a cache management algorithm associated with the data usage pattern, wherein the data storage device is a disc drive having a data disc and the selecting step (b)(iii) comprises steps of:

(b)(iii)(1) directing a cache management executive to execute the selected cache management algorithm, wherein the directing step (b)(iii)(1) comprises steps of:

(b)(iii)(1)(i) changing a switch position to point to the selected cache management algorithm: and

(c) employing the cache management algorithm to process the command.

2. The method of claim 1 wherein the directing step (b)(iii)(1) further comprises steps of:

(b)(iii)(1)(i) transmitting a base memory offset associated with the selected cache management algorithm to the cache management executive.

3. The method of claim 1 wherein the data storage device is a disc drive having a disc storing sets of cache management algorithms, the method further comprising steps of:

(d) copying the sets of cache management algorithms from the data disc to memory.

4. The method of claim 1 wherein the data storage device is a disc drive having a data disc and the method further comprises steps of:

(d) copying the predetermined set of usage patterns from the data disc to memory.

5. A cache manager for managing caching in a data storage device comprising:

a usage statistics module storing statistics associated with a sequence of commands received by the data storage device;

a configuration module storing one or more sets of pattern data indicative of predetermined patterns of command sequences associated with known file systems;

a correlator accessing the usage statistics module and the pattern data in the configuration module and correlating the usage statistics with the pattern data to determine a match between the usage statistics and one of the sets of pattern data,

a statistics-gathering module operably connected to the usage statistics module for gathering statistics related to the received sequence of commands and transmitting the statistics to the usage statistics module,

a switch module receiving correlation data from the correlator and selecting one cache management algorithm from among a set of cache management algorithms based on the one or more sets of pattern data matched with the usage statistics, and

a cache management executive operable to execute the selected cache management algorithm.

6. The cache manager of claim 5 further comprising:

a notification signal transmitted by the switch module notifying the cache management executive of the selected cache management algorithm.

7. The cache manager of claim 6 wherein the notification signal comprises:

a base memory pointer referencing a memory location storing the selected cache management algorithm.

8. A cache manager for managing caching in a data storage device comprising:

a usage statistics module storing statistics associated with a sequence of commands received by the data storage device:

a configuration module storing one or more sets of pattern data indicative of predetermined patterns of command sequences associated with known file systems; and

a correlator accessing the usage statistics module and the pattern data in the configuration module and correlating the usage statistics with the pattern data to determine a match between the usage statistics and one of the sets of pattern data,

wherein each of the one or more sets of pattern data comprises a threshold value, wherein the correlator compares usage statistics for consecutive read commands corresponding to a read mode against the threshold value to determine a match between the usage statistics and one of the sets of pattern data.

9. A data storage device comprising:

a cache for buffering commands and data; and

a means for adaptively selecting a cache management algorithm based on matching statistics associated with a sequence of commands received by the data storage device with one of a plurality of sets of predetermined usage pattern data, each set of usage pattern data being associated with one of a plurality of known file systems, wherein the means for adaptively selecting a cache management algorithm comprises:

a usage statistics module storing usage statistics associated with a sequence of commands received by the data storage device:

a correlator in operable communication with the usage statistics module correlating the usage statistics with each of one or more sets of predetermined usage pattern data corresponding to known usage patterns and generating correlation data:

two cache management algorithms, wherein each cache management algorithm is associated with one of the known usage patterns,

a switch module receiving the correlation data and determining a best match between the usage statistics and one of the one or more sets of predetermined usage pattern data and selecting one of the cache management algorithms based on the best match, and

a cache management executive operably connected to the switch module, the cache management executive executing the selected one of the cache management algorithms.

10. The data storage device of claim 9 wherein each of the one or more sets of predetermined usage pattern data includes a threshold value, wherein the correlator compares usage statistics for consecutive read commands associated with a read mode against the threshold values to determine a match between the usage statistics and one of the sets of pattern data.

11. The data storage device of claim 9 wherein each of the one or more sets of predetermined usage pattern data includes a threshold value, wherein the correlator compares usage statistics for consecutive Write Direct Memory Access (DMA) and flush cache command pairs against the threshold values to determine a match between the usage statistics and one of the sets of pattern data.

12. The data storage device of claim 9 , wherein at least one of the plurality of known files systems is a member of the group consisting of: Microsoft Windows® NTFS, Microsoft Windows® FATS, Unix, and Apple®.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2025
From: THE BANK OF NOVA SCOTIA
To: SEAGATE TECHNOLOGY PUBLIC LIMITED COMPANY; SEAGATE TECHNOLOGY; SEAGATE TECHNOLOGY HDD HOLDINGS; I365 INC.; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL; SEAGATE HDD CAYMAN; SEAGATE TECHNOLOGY (US) HOLDINGS, INC.
Reel/Frame 072193/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jul 19, 2013
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE
To: SEAGATE TECHNOLOGY LLC; EVAULT INC. (F/K/A I365 INC.); SEAGATE TECHNOLOGY INTERNATIONAL; SEAGATE TECHNOLOGY US HOLDINGS, INC.
Reel/Frame 030833/0001 →
SECURITY AGREEMENT Recorded Mar 24, 2011
From: SEAGATE TECHNOLOGY LLC
To: THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT
Reel/Frame 026010/0350 →
RELEASE Recorded Jan 19, 2011
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: SEAGATE TECHNOLOGY HDD HOLDINGS; MAXTOR CORPORATION; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL
Reel/Frame 025662/0001 →
SECURITY AGREEMENT Recorded May 15, 2009
From: MAXTOR CORPORATION; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND FIRST PRIORITY REPRESENTATIVE; WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE
Reel/Frame 022757/0017 →
RELEASE OF SECURITY INTERESTS IN PATENT RIGHTS Recorded Jan 4, 2006
From: JPMORGAN CHASE BANK, N.A. (FORMERLY KNOWN AS THE CHASE MANHATTAN BANK AND JPMORGAN CHASE BANK), AS ADMINISTRATIVE AGENT
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 016967/0001 →
SECURITY AGREEMENT Recorded Aug 5, 2002
From: SEAGATE TECHNOLOGY LLC
To: JPMORGAN CHASE BANK, AS COLLATERAL AGENT
Reel/Frame 013177/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2001
From: HERBST, JAMES ARTHUR; BAUM, CAROL MICHIKO; DIXON, ROBERT WILLIAM
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 012380/0917 →