IP Library Patent Application 14186241
Patent Application
App. No. 14/186,241

STORAGE WORKLOAD HINTING

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 None
App. No.
14/186,241
Abstract

Methods and structure for reconfiguring storage systems are provided. One exemplary embodiment is a storage controller. The storage controller includes a memory that stores multiple profiles that are each designated for a different type of Input/Output processing workload from a host, and each include settings for managing communications with coupled storage devices. Each type of workload is characterized by a pattern of Input/Output requests from the host. The storage controller also includes a control unit able to process host Input/Output requests at the storage controller in accordance with a first profile, identify a change in type of workload from the host, and load a second profile designated for the changed type of workload in place of the first profile. The control unit is also able to process host Input/Output requests at the storage controller in accordance with the second profile.

Claims (45)

1 . A storage controller comprising:

a memory that stores multiple profiles, each profile designated for a different type of Input/Output processing workload from a host, wherein each profile includes settings for managing communications with coupled storage devices, and each type of workload is characterized by a pattern of Input/Output requests from the host; and

a control unit configured to process host Input/Output requests at the storage controller in accordance with a first profile, identify a change in type of workload from the host, load a second profile designated for the changed type of workload in place of the first profile, and process host Input/Output requests at the storage controller in accordance with the second profile.

2 . The storage controller of claim 1 , wherein:

each type of workload is associated with a different combination of latency and bandwidth.

3 . The storage controller of claim 1 , wherein:

the control unit is further configured to identify the change in type of workload based on a time of day.

4 . The storage controller of claim 1 , wherein:

each type of workload is characterized by at least one property selected from the group consisting of: a read/write ratio, a ratio of data moved by writes versus reads, an Input/Output queue depth, an Input/Output request size, and whether Input/Output requests are performed sequentially or not.

5 . The storage controller of claim 1 , wherein:

the control unit is further configured to identify the change in type of workload by receiving a command from the host that indicates the changed type of workload.

6 . The storage controller of claim 1 , wherein:

the control unit is further configured to identify the change in type of workload by analyzing Input/Output requests that have been processed by the storage controller over a period of time.

7 . The storage controller of claim 1 , wherein the settings are selected from the group consisting of:

a Redundant Array of Independent Disks (RAID) stripe size, a maximum number of commands per disk over a unit time, a maximum number of commands per logical volume over a unit time, a write cache setting, a read cache setting, a cache flush parameter of a write back cache, a Redundant Array of Independent Disks (RAID) level, a data replication parameter, a data recovery parameter, whether or not coalescing of Input/Output commands is enabled, whether or not re-ordering of Input/Output commands is enabled, whether or not FastPath Input/Output is enabled, whether or not Write Ahead Logging (WAL) is enabled, and whether front of queue disk features are enabled.

8 . A storage controller comprising:

means for storing multiple profiles, each profile designated for a different type of Input/Output processing workload from a host, wherein each profile includes settings for managing communications with coupled storage devices, and each type of workload is characterized by a pattern of Input/Output requests from the host; and

means for processing host Input/Output requests at the storage controller in accordance with a first profile, identifying a change in type of workload from the host, loading a second profile designated for the changed type of workload in place of the first profile, and processing host Input/Output requests at the storage controller in accordance with the second profile.

9 . The storage controller of claim 8 , wherein:

each type of workload is associated with a different combination of latency and bandwidth.

10 . The storage controller of claim 8 , wherein:

the storage controller is configured to identify the change in type of workload based on a time of day.

11 . The storage controller of claim 8 , wherein:

each type of workload is characterized by at least one property selected from the group consisting of: a read/write ratio, a ratio of data moved by writes versus reads, an Input/Output queue depth, an Input/Output command size, and whether writes are performed sequentially or not.

12 . The storage controller of claim 8 , wherein:

the storage controller is configured to identify the change in type of workload by receiving a command from the host that indicates the changed type of workload.

13 . The storage controller of claim 8 , wherein:

the storage controller is configured to identify the change in type of workload by analyzing Input/Output operations that have been processed by the storage controller over a period of time.

14 . The storage controller of claim 8 , wherein the settings are selected from the group consisting of:

a Redundant Array of Independent Disks (RAID) stripe size, a maximum number of commands per disk over a unit time, a maximum number of commands per logical volume over a unit time, a write cache setting, a read cache setting, a cache flush parameter of a write back cache, a Redundant Array of Independent Disks (RAID) level, a data replication parameter, a data recovery parameter, whether or not coalescing of Input/Output commands is enabled, whether or not re-ordering of Input/Output commands is enabled, whether or not FastPath Input/Output is enabled, whether or not Write Ahead Logging (WAL) is enabled, and whether front of queue disk features are enabled.

15 . A method comprising:

processing host Input/Output requests at a storage controller in accordance with a first profile that includes settings for managing communications with coupled storage devices;

identifying a change in type of Input/Output processing workload from the host, wherein types of workload are characterized by a pattern of Input/Output requests from the host;

loading a second profile designated for the changed type of workload in place of the first profile, wherein the second profile includes settings for managing communications with the coupled storage devices; and

processing host Input/Output requests at the storage controller in accordance with the second profile.

16 . The method of claim 15 , wherein:

each type of workload is associated with a different combination of latency and bandwidth.

17 . The method of claim 15 , further comprising:

identifying the change in type of workload based on a time of day.

18 . The method of claim 15 , wherein:

each type of workload is characterized by at least one property selected from the group consisting of: a read/write ratio, a ratio of data moved by writes versus reads, an Input/Output queue depth, an Input/Output command size, and whether writes are performed sequentially or not.

19 . The method of claim 15 , further comprising:

identifying the change in type of workload by receiving a command from the host that indicates the changed type of workload.

20 . The method of claim 15 , further comprising:

identifying the change in type of workload by analyzing Input/Output operations that have been processed by the storage controller over a period of time.

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 Feb 21, 2014
From: SMITH, HUBBERT; LEYENAAR, KIMBERLY K.
To: LSI CORPORATION
Reel/Frame 032267/0943 →