MAINTAINING I/O PRIORITY AND I/O SORTING
First Claim
1. A data processing system comprising:
- one or more processors having one or more processor cores, to execute an operating system and one or more applications of the data processing system;
at least one non-volatile memory device coupled to the one or more processors to store data of the data processing system; and
at least one non-volatile memory controller coupled to the one or more processors and the at least one non-volatile memory device, the at least one non-volatile memory controller to enable a transfer of data to the at least one non-volatile memory device, wherein the transfer of data is responsive to a request by the one or more applications of the data processing system, wherein the transfer of data is associated with a priority level assigned by the operating system, and wherein the priority level assigned by the operating system is maintained throughout the logical data path of the data processing system.
1 Assignment
0 Petitions
Accused Products
Abstract
Multiple variants of a data processing system, which maintains I/O priority from the time a process makes an I/O request until the hardware services that request, will be described. In one embodiment, a data processing system has one or more processors having one or more processor cores, which execute an operating system and one or more applications of the data processing system. The data processing system also can have one or more non-volatile memory device coupled to the one or more processors to store data of the data processing system, and one or more non-volatile memory controller coupled to the one or more processors. The one or more non-volatile memory controller enables a transfer of data to at least one non-volatile memory device, and the priority level assigned by the operating system is maintained throughout the logical data path of the data processing system.
-
Citations
34 Claims
-
1. A data processing system comprising:
-
one or more processors having one or more processor cores, to execute an operating system and one or more applications of the data processing system; at least one non-volatile memory device coupled to the one or more processors to store data of the data processing system; and at least one non-volatile memory controller coupled to the one or more processors and the at least one non-volatile memory device, the at least one non-volatile memory controller to enable a transfer of data to the at least one non-volatile memory device, wherein the transfer of data is responsive to a request by the one or more applications of the data processing system, wherein the transfer of data is associated with a priority level assigned by the operating system, and wherein the priority level assigned by the operating system is maintained throughout the logical data path of the data processing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium with instructions stored therein, the instructions, when executed by a data processing system, cause the data processing system to perform a method to manage the input/output data rate of one or more applications on an operating system, the method comprising:
-
receiving a first input/output operation having a first priority, the first input/output operation being associated with at least one of the one or more applications on the operating system; limiting the input/output rate of at least one of the one or more applications having a second priority; and processing a second input/output operation having the second priority, wherein processing the second input operation includes maintaining the priority of the second operation until the operation is completed by the data processing system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer implemented method comprising:
-
receiving a first input/output operation, the first input/output operation having a first priority, wherein the first input/output operation is associated with at least one of the one or more applications on the operating system; beginning an input/output data rate limit period associated with the first priority, to reduce the input/output data rate for operations having a second priority, wherein the beginning of the input/output data rate limit period is contemporaneous with the receiving of the first input/output operation; receiving a second input/output operation after receiving the first input/output operation, the second input/output operation having a second priority, wherein the second input/output operation is associated with at least one of the one or more applications on the operating system; delaying the processing of the second input/output operation for a period of time, to limit the input/output data rate of the at least one of the one or more applications associated with the second operation, wherein the at least one or more of the applications associated with the second operation has the second priority; processing the second input/output operation, wherein processing the second input operation maintains the assigned priority until the operation is completed. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A non-transitory computer-readable medium with instructions stored therein, the instructions, when executed by a data processing system, cause the data processing system to perform a method of processing one or more input/output operations having a timestamp and a priority level, the method comprising:
-
adding an input/output operation to a queue based on the priority level of the input/output operation, wherein the queue has a weight assigned by the data processing system; determining a deadline of the input/output operation by adding the timestamp of the input/output operation to the weight of the queue; determining if the deadline of one or more input/output operations has expired by comparing the deadline of the one or more input/output operations to a reference time; and processing at least one of the operations with an expired deadline, wherein the processing maintains the assigned priority until the operation is completed by the data processing system. - View Dependent Claims (31, 32, 33, 34)
-
Specification