Mechanism for efficient low priority write draining
First Claim
1. A method, comprising generating an enabling signal to service a request for a low priority write operation according to any combination of availability of resources of a memory subsystem, status of pending requests for a high priority operation, and status of the request for the low priority write operation, as determined by counting a number of occurrences of requests for the low priority write operation, where the signal is generated when:
- a. resources of the memory subsystem are available;
b. the pending requests for the high priority operation have been serviced; and
c. the number of occurrences exceeds a threshold value.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method and apparatus for servicing a request for an opportunistic operation to a memory subsystem includes an enabling signal that is generated to service the request for the opportunistic operation according to any combination of the following information: availability of resources of the memory subsystem, status of pending requests for a high priority operation, and status of the request for the opportunistic operation.
47 Citations
26 Claims
-
1. A method, comprising generating an enabling signal to service a request for a low priority write operation according to any combination of availability of resources of a memory subsystem, status of pending requests for a high priority operation, and status of the request for the low priority write operation, as determined by counting a number of occurrences of requests for the low priority write operation, where the signal is generated when:
-
a. resources of the memory subsystem are available;
b. the pending requests for the high priority operation have been serviced; and
c. the number of occurrences exceeds a threshold value. - View Dependent Claims (2, 3)
-
-
4. An apparatus, comprising:
-
a. a resource busy to determine availability of resources of a memory subsystem and to generate a first status signal;
b. a pending high-priority-operation detector to monitor pending requests for a high priority operation and to generate a second status signal;
c. an opportunistic-operation monitor to monitor requests for an opportunistic operation and to generate a third status signal; and
d. an arbiter, coupled to the resource busy detector, the pending high-priority-operation detector and the opportunistic-operation monitor, to generate an enabling signal to service a given request for an opportunistic operation according to the first, the second and third status signals. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
a. the first status signal indicates that resources are available;
b. the second status signal indicates that no requests for high priority operations are pending; and
c. the third status signal indicates that the number of occurrences exceeds a threshold value.
-
-
8. The apparatus according to claim 7, wherein the opportunistic operation refers to a low priority write operation.
-
9. The electronic system according to claim 7, wherein the threshold value comprises a predetermined value.
-
10. The apparatus according to claim 4, wherein the arbiter generates the enabling signal when:
-
a. the first status signal indicates resources are available; and
b. the second status signal indicates no requests for the high priority operation are pending.
-
-
11. The apparatus according to claim 10, wherein the high priority operation refers to read operations.
-
12. An electronic system, comprising:
-
a system bus;
a microprocessor, coupled to the system bus; and
a chipset component, coupled to the system bus and also coupled to a memory subsystem, wherein the chipset component further comprises;
a. a resource busy detector to determine availability of resources of the memory subsystem and to generate a first status signal;
b. a pending high-priority-operation detector to monitor pending request for a high priority operation and to generate a second status signal;
c. an opportunistic-operation monitor to monitor requests for an opportunistic operation and to generate a third status signal; and
d. an arbiter, coupled to the resource busy detector, the pending high-priority-operation detector and the opportunistic-operation monitor, to generate an enabling signal to service a given request for an opportunistic operation according to the first, the second and third status signals. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
a. the first status signal indicates that resources are available;
b. the second status signal indicates that no requests for the high priority operation are pending; and
c. the third status signal indicates that the number of occurrences exceeds a threshold value.
-
-
16. The electronic system according to claim 15, wherein the opportunistic operation refers to a low priority write operation.
-
17. The electronic system according to claim 15, wherein the threshold value comprises a predetermined value.
-
18. The electronic system according to claim 12, wherein the arbiter generates the enabling signal when:
-
a. the first status signal indicates resources are available; and
b. the second status signal indicates no requests for the high priority operation are pending.
-
-
19. The electronic system according to claim 18, wherein the high priority operation refers to read operations.
-
20. A machine-readable medium having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a processor, cause the processor to generate an enabling signal to service a request for a low priority write operation according to any combination of availability of resources of a memory subsystem, status of pending requests for a high priority operation, and status of the request for the low priority write operation by counting a number of occurrences of requests for the low priority write operation, where the signal is generated when:
-
a. resources of the memory subsystem are available;
b. the pending requests for the high priority operation have been serviced; and
c. the number of occurrences exceeds a threshold value. - View Dependent Claims (21, 22)
-
-
23. A method comprising:
-
a. determining if any pending requests exist;
b. if one or more pending requests exists, then determining if any of the one or more pending requests is a request for a high priority operation to a memory subsystem;
c. if any of the one or more pending requests is a request for the high priority operation, then selecting one of the pending requests for the high priority operation and issuing the selected pending request for the high priority operation to request queue;
d. if there are no pending requests for the high priority operation, then determining if there are any requests for an opportunistic operation; and
e. if there are one or more pending requests for the opportunistic operation, then selecting one of the one or more pending requests for the opportunistic operation and issuing the selected pending request for the opportunistic operation to the request queue if resources of the memory subsystem are available. - View Dependent Claims (24, 25)
-
-
26. A method comprising:
-
a. receiving a request for a low priority write operation;
b. issuing the request to a request queue by generating an enabling signal when;
i. resources of the memory subsystem are available;
ii. the pending requests for the high priority operation have been serviced; and
iii. a number of occurrences of the pending requests for the low
-
Specification