IP Library › Granted Patent US 7,797,487
Granted Patent B2
US 7,797,487 · App. 11/768,849 · Granted Sep 14, 2010

Command queue loading

Assignee: Seagate Technology LLC
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 7,797,487
App. No.
11/768,849
Granted
Sep 14, 2010
Kind
B2
Abstract

A data storage system and associated method are provided wherein a policy engine continuously collects qualitative information about a network load to the data storage system in order to dynamically characterize the load and continuously correlates the load characterization to a command queue depth of data transfer requests.

Claims (24)

1. A controller in a data storage system, the controller comprising a host adaptive seek technique environment (HASTE) module that includes policy engine logic operably continuously collecting qualitative information about a load from a network device to the controller, the qualitative information distinguishing commands in the load between rate sensitive commands and latency sensitive commands, in order to formulate a dynamic characterization of the load and continuously correlate the dynamic characterization to a corresponding selected command queue depth of data transfer requests.

2. The controller of claim 1 comprising a cache manager that is responsive to the policy engine logic to define a first command queue depth when the dynamic characterization indicates that the load is substantially at or below an expected steady state, and to define a second command queue depth that is larger than the first command queue depth when the dynamic characterization indicates a burst of command activity.

3. The controller of claim 2 wherein the second command queue depth is at least about an order of magnitude larger than the first command queue depth.

4. The controller of claim 3 wherein the selected command queue depth is presented to a seek manager that selectively issues data transfer commands from a command queue having the selected command queue depth to define a command profile.

5. The controller of claim 4 wherein the policy engine logic defines rules in relation to the dynamic characterization and in relation to predefined goals that govern the seek manager in defining the command profile.

6. The controller of claim 5 wherein the policy engine logic rules selectively correlate the command profile to the dynamic characterization in terms of a ratio of the rate sensitive commands to the latency sensitive commands.

7. The controller of claim 6 wherein the policy engine logic rules selective match the command profile to the dynamic characterization in terms of the ratio of the rate sensitive commands to the latency sensitive commands.

8. The controller of claim 5 wherein the policy engine logic rules selectively correlate the command profile to a desired maximum latency of commands.

9. The controller of claim 5 wherein the policy engine logic rules selectively correlate the command profile to priorities assigned to different LUN classes.

10. The controller of claim 3 wherein the dynamic characterization is in terms of a ratio of the rate sensitive commands to the latency sensitive commands.

11. The controller of claim 10 wherein the rate sensitive commands are writeback cache commands and the latency sensitive commands are at least one of read commands and writethrough cache commands.

12. The controller of claim 11 wherein the dynamic characterization is in terms of a bandwidth associated with each command.

13. The controller of claim 12 wherein the policy engine comprises a finite state machine.

14. A method comprising:

monitoring a command stream load from a network device to a storage system in order to collect qualitative data about commands in the command stream, the qualitative data distinguishing the commands between rate sensitive commands and latency sensitive commands, to formulate a dynamic characterization of the load;

using the dynamic characterization to define a selected command queue depth of data transfer requests.

15. The method of claim 14 wherein the using step comprises defining a first command queue depth when the dynamic characterization indicates that the load is substantially at or below an expected steady state, and defining a second command queue depth that is larger than the first command queue depth when the dynamic characterization indicates a burst of command activity.

16. The method of claim 15 wherein the using step comprises defining the second command queue depth to be about an order of magnitude larger than the first command queue depth.

17. The method of claim 16 wherein the monitoring step comprises characterizing the load in terms of a ratio of the rate sensitive commands to the latency sensitive commands.

18. The method of claim 17 wherein the monitoring step comprises characterizing writeback cache commands as being the rate sensitive commands and characterizing at least one of read commands and writethrough cache commands as being the latency sensitive commands.

19. The method of claim 18 wherein the monitoring step comprises characterizing the load in terms of a bandwidth associated with each command.

20. A storage system comprising:

a storage array configured for connecting to a network to transfer data in response to network commands; and

means for loading a command queue by individually correlating a size of the command queue for each data storage device in the array to an observed qualitative characterization that distinguishes rate sensitive commands from latency sensitive commands in a network load.

Assignments (6)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2007
From: LUBBERS, CLARK EDWARD; LESTER, ROBERT MICHAEL
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 019496/0829 →
Continuity (1)
Related Publication 20090006606A1 · Jan 1, 2009