IP Library Granted Patent US 9,304,951
Granted Patent B1
US 9,304,951 · App. 13/449,491 · Granted Apr 5, 2016

Policy based input/output dispatcher

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 9,304,951
App. No.
13/449,491
Granted
Apr 5, 2016
Kind
B1
Abstract

Disclosed is a policy-based I/O dispatcher that intercepts I/O requests from several individual volumes made to a shared storage system (such as a RAID array) and manages these I/O requests so that no single volume monopolizes the I/O bandwidth and excludes the other volumes from timely completing their own I/O requests. Also disclosed are a plurality of attributes that may be assigned to each volume sharing a disk array to effectively manage the sharing of the disk array among the volumes. The I/O policy manager may handle I/O requests from several sources including volume-based iSCSI I/O requests as well as the file-share-based XFS I/O requests.

Claims (21)

1. A method for managing I/O operations in a shared storage system, the method comprising:

by a logical volume manager module, managing plurality of individual volumes backed by a RAID array comprising a RAID controller and a plurality of physical disks, wherein the logical volume manager is configured to process I/O requests sent from the plurality of individual volumes;

by a Policy-Based I/O module which resides in the stack between the plurality of individual volumes and the logical volume manager, intercepting, requests sent from the plurality of individual volumes to the logical volume manager for processing on the RAID array; and

by the Policy-Based I/O module, assigning a maximum throughput perform attribute and a target latency performance attribute to each volume of the plurality of individual volumes;

by the Policy-Based I/O module, regulating processing of the I/O requests between each of the plurality of individual volumes and the to logical volume manager in accordance with the I/O attributed assigned to each volume, wherein regulating processing of the I/O requests comprises:

the Policy-Based I/O dispatcher determining for each volume of the plurality of volumes whether a throughput of the volume exceeds the assigned maximum throughput performance attribute of the volume, and if the assigned throughput performance attribute of the volume is not exceeded, the Policy-Based I/O dispatcher then forwards intercepted I/O requests of the volume to the logical volume manager for processing on the RAID array; and

if the assigned maximum throughput performance attribute of the volume is exceeded, the Policy-Based I/O dispatcher then determines whether a latency of the volume exceeds the assigned target latency performance attribute of the volume, if the assigned target latency of the volume is not exceeded, then, instead of forwarding intercepted I/O requests to the logical volume manager, the Policy-Based I/O dispatcher module caches intercepted I/O requests of the volume until the throughput of the volume longer exceeds the assigned maximum throughput performance attribute of the volume; and

if the assigned target latency of the volume is exceeded and the assigned maximum throughput performance attribute of the volume is exceeded, then, instead of caching intercepted I/O requests, the Policy-Based I/O dispatcher forwards intercepted I/O requests of the volume to the volume manager for processing of the I/O on the RAID array while temporarily allowing the throughput of the volume to exceed the assigned maximum throughput performance attribute of the volume until the latency of the volume no longer exceeds the target latency performance attribute set for the volume.

2. The method of claim 1 , wherein the assigned throughput performance attribute includes at least one from the group comprising a maximum read data rate, a maximum write data rate, a maximum number of read operations per second, and a maximum number of write operations per second, and wherein the assigned latency performance attributes includes at least one from the group comprising a target average read latency and a target average write latency.

3. A storage system computer for managing I/O operations in a shared storage system, comprising:

a processor;

a memory communicatively connected to the processor;

a logical volume manager module that manages a plurality of individual volumes backed by a RAID array comprising a RAID controller and a plurality of physical disks, wherein the logical volume manager is configured to process I/O requests sent from the plurality of individual volumes; and

a Policy-Based I/O dispatcher module which resides in the stack between the plurality of individual volumes and the logical volume manager to intercept I/O requests sent from the plurality of individual volumes to the logical volume manager for processing on the RAID array, wherein the Policy-Based I/O dispatcher module is configured to:

assign, to each volume of the plurality of individual volumes, a maximum throughput perform attribute and a target latency performance attribute; and

regulate processing of the I/O requests between each of the plurality of individual volumes and the logical volume manager in accordance with the I/O attributed assigned to each volume;

wherein regulating processing of the I/O requests comprises:

the Policy-Based I/O dispatcher determining for each volume of the plurality of volumes whether a throughput of the volume exceeds the assigned maximum throughput performance attribute of the volume, and if the assigned throughput performance attribute of the volume is not exceeded, the Policy-Based I/O dispatcher then forwards intercepted I/O requests of the volume to the logical volume manager for processing on the RAID array; and

if the assigned maximum throughput performance attribute of the volume is exceeded, the Policy-Based I/O dispatcher then determines whether a latency of the volume exceeds the assigned target latency performance attribute of the volume, if the assigned target latency of the volume is not exceeded, then, instead of forwarding intercepted I/O requests to the logical volume manager, the Policy-Based I/O dispatcher module caches intercepted I/O requests of the volume until the throughput of the volume no toner exceeds the assigned maximum throughput performance attribute of the volume; and

if the assigned target latency of the volume is exceeded and the assigned maximum throughput performance attribute of the volume is exceeded, then, instead of caching intercepted I/O requests, the Policy-Based I/O dispatcher forwards intercepted I/O requests of the volume to the volume manager module for processing of the I/O on the RAID array while temporarily allowing the throughput of the volume to exceed the assigned maximum throughput performance attribute set of the volume until the latency of the volume no longer exceeds the assigned target latency performance attribute of the volume.

4. The storage system computer of claim 3 , wherein the assigned throughput performance attribute includes at least one from the group comprising a maximum read data rate, a maximum write data rate, a maximum number of read operations per second, and a maximum number of write operations per second, and wherein the assigned latency performance attributes includes at least one from the group comprising a target average read latency and a target average write latency.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC,
To: AMZETTA TECHNOLOGIES, LLC,
Reel/Frame 053007/0151 →
CHANGE OF NAME Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 053007/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2012
From: SUBRAMANIAN, SRIKUMAR; GOPALAKRISHNAN, SANKARJI; RANGANATHAN, LOGANATHAN
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 028900/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2012
From: CHATTERJEE, EXECUTRIX OF ESTATE OF PARESH CHATTERJEE, UDITA
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 028900/0147 →