IP Library Granted Patent US 9,645,743
Granted Patent B2
US 9,645,743 · App. 14/500,065 · Granted May 9, 2017

Selective I/O prioritization by system process/thread

Inventors: Brian Dees (Hillsboro, OR); Knut Grimsrud (Forest Grove, OR)
Assignee: Intel Corporation
G06F3/061G06F3/067G06F3/0644G06F9/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 9,645,743
App. No.
14/500,065
Granted
May 9, 2017
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 subsystem device driver; and

executing the subsystem device driver to:

store, within a memory accessible by the subsystem, the priority information in a table;

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

schedule 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 processes associated with an application of a certain type 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 subsystem driver; and

executing instructions of the subsystem device driver to:

store, within a memory accessible by the subsystem, the priority information in a table;

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

schedule 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 subsystem device;

a bus operatively coupling the processor to the subsystem device;

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 subsystem device; and

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

store the priority information in a table accessible by the subsystem device;

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

schedule subsystem 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 (3)
Continuation 12852171 · Aug 6, 2010
Continuation 11241255 · Sep 30, 2005
Related Publication 20150199127A1 · Jul 16, 2015