IP Library Granted Patent US 8,850,439
Granted Patent B2
US 8,850,439 · App. 12/852,171 · Granted Sep 30, 2014

Storage subsystem device driver scheduling I/O servicing according to priority of identified process

Inventors: Brian Dees (Hillsboro, OR); Knut Grimsrud (Forest Grove, OR)
Assignee: Intel Corporation
G06F9/4443
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,850,439
App. No.
12/852,171
Granted
Sep 30, 2014
Kind
B2
Abstract

Systems, methods, and apparatus to identify and prioritize application processes in one or more subsystems. Some embodiments identifying applications and processes associated with each application executing on a system, apply one or more priority rules to the identified applications and processes to generate priority information, and transmit the priority information to a subsystem. The subsystem then matches received requests with the priority information and services the processes according to the priority information.

Claims (38)

1. A method comprising:

identifying applications and processes associated with each identified application executing on a system by calling an operating system routine;

applying one or more priority rules to the identified applications and processes to generate priority information, at least one of the one or more priority rules including an administrator defined priority rule;

transmitting the priority information to a storage subsystem device driver; and

executing the storage subsystem device driver to:

store, on the storage subsystem, the priority information in a table;

match storage subsystem processes with a priority in the table, the storage subsystem processes being processes of the identified processes; and

schedule storage subsystem process servicing according to the matching.

2. The method of claim 1 , wherein the priority information includes information designating certain processes of the identified processes as high priority processes.

3. The method of claim 1 , wherein the one or more priority rules include a rule, the applying of which, causes identified processes associated with a foreground application to be designated as high priority processes.

4. The method of claim 1 , wherein the one or more priority rules include a rule, the applying of which, causes identified processes associated with a foreground application to be designated as high priority processes.

5. A non-transitory machine-readable medium, with instructions thereon which when processed, result in a machine:

identifying applications and processes associated with each identified application executing on a system by calling an operating system routine;

applying one or more priority rules to the identified applications and processes to generate priority information, at least one of the one or more priority rules including an administrator defined priority rule;

transmitting the priority information to a storage subsystem driver; and

executing instructions of the storage subsystem device driver to:

store, on the storage subsystem, the priority information in a table;

match storage subsystem processes with a priority in the table, the storage subsystem processes being processes of the identified processes; and

schedule storage subsystem process servicing according to the matching.

6. The non-transitory machine-readable medium of claim 5 , wherein the priority information includes information designating certain processes of the identified processes as high priority processes.

7. The non-transitory machine-readable medium of claim 5 , wherein the one or more priority rules include a rule, the applying of which, causes identified processes associated with a foreground application to be designated as high priority processes.

8. The non-transitory machine-readable medium of claim 5 , wherein the one or more priority rules include a rule, the applying of which, causes processes associated with an application of a certain type to be designated as high priority processes.

9. A system comprising:

a processor;

a memory device;

a storage device;

a bus operatively coupling the processor to the storage subsystem;

instructions held in the memory device and executable by the processor to:

identify applications and processes associated with each identified application executing on a system by calling an operating system routine;

apply one or more priority rules to the identified applications and processes to generate priority information, at least one of the one or more priority rules including an administrator defined priority rule; and

transmit the priority information to the storage device; and

a storage subsystem device driver including instructions held in the memory and executable by the processor to:

store, on the storage device, the priority information in a table;

match storage device processes with a priority in the table, wherein the storage device processes are processes of the identified processes; and

schedule storage device process servicing according to the matching.

10. The system of claim 9 , wherein the priority information includes information designating certain processes of the identified processes as high priority processes.

11. The system of claim 9 , wherein the one or more priority rules include a rule, the applying of which, causes identified processes associated with a foreground application to be designated as high priority processes.

12. The system of claim 9 , wherein the one or more priority rules include a rule, the applying of which, causes processes associated with an application of a certain type to be designated as high priority processes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072890/0186 →
Continuity (2)
Continuation 11241255 · Sep 30, 2005
Related Publication 20100299670A1 · Nov 25, 2010