Method to access memory based on a programmable page limit
First Claim
1. A method to access computer memory having a plurality of banks, each bank having a plurality of pages, the method comprising:
- establishing a programmable page limit value representing a maximum number of the plurality of pages that may be kept in an open state at one time;
receiving a memory access request; and
performing a memory access operation in accordance with the established page limit value and the memory access request.
9 Assignments
0 Petitions
Accused Products
Abstract
A method to establish a page limit for use by a memory control device during memory access operations includes establishing a page limit value, receiving a memory access request, and performing a memory access operation in accordance with the established page limit and the memory access request. The established page limit may be a fixed number or it may depend upon the number of banks in the memory and/or the type of service provided by a computer system. The established page limit may also vary during computer system operations in response to memory access characteristics such as page miss and/or hit rates.
35 Citations
29 Claims
-
1. A method to access computer memory having a plurality of banks, each bank having a plurality of pages, the method comprising:
-
establishing a programmable page limit value representing a maximum number of the plurality of pages that may be kept in an open state at one time;
receiving a memory access request; and
performing a memory access operation in accordance with the established page limit value and the memory access request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17)
determining the number of banks in the computer memory; and
setting the page limit value to a fraction of the determined number of banks.
-
-
5. The method of claim 4 wherein the act of setting comprises:
-
obtaining a fraction value; and
setting the page limit value to a whole number approximately equal to the product of the number of banks in the computer memory and the obtained fraction value.
-
-
6. The method of claim 1 wherein the act of setting comprises:
-
obtaining a first value if a determined type of service is a first type and a second value if the determined type of service is a second type; and
setting the page limit value to the obtained value.
-
-
7. The method of claim 1, wherein the act of setting comprises:
-
determining the number of banks in the computer memory; and
setting the page limit value to a whole number approximately equal to the product of the obtained value and the number of banks in the computer memory.
-
-
8. The method of claim 1, wherein the act of performing a memory access operation comprises:
-
determining if opening a page indicated by the memory request will exceed the established page limit and, if it will, selectively closing a page currently in the open state;
opening the page indicated by the memory request; and
completing the memory access operation.
-
-
9. The method of claim 8, wherein the act of selectively closing a page is performed in accordance with a specified replacement policy.
-
10. The method of claim 9, wherein the specified replacement policy comprises a least recently used replacement policy.
-
11. The method of claim 10, wherein a specified value of the page miss rate is approximately 50%.
-
12. The method of claim 11, wherein the act of adjusting the page limit value comprises setting the page limit value to 1.
-
13. The method of claim 1, wherein the maximum number of the plurality of pages that may be kept in an open state at one time comprises a number less than the total number of pages of the plurality of banks.
-
17. The method of claim 1, wherein the act of setting comprises:
-
determining the number of banks in the computer memory; and
setting the page limit value to a whole number approximately equal to the product of the obtained value and the number of banks in the computer memory.
-
-
14. A method to access computer memory having a plurality of banks, each bank having a plurality of pages, the method comprising:
-
establishing a programmable page limit value representing a number of the plurality of pages that may be kept in an open state at one time, the act of establishing comprising determining a type of service provided by a computer system and setting the page limit value based on the determined type of service;
receiving a memory access request; and
performing a memory access operation in accordance with the established page limit value and the memory access request. - View Dependent Claims (15, 16, 19)
obtaining a first value if the determined type of service is a first type and a second value if the determined type of service is a second type; and
setting the page limit value to the obtained value.
-
-
19. The method of claim 14, wherein the maximum number of the plurality of pages that may be kept in an open state at one time comprises a number less than the total number of pages of the plurality of banks.
-
18. The method of claim wherein the act of performing a memory access operation comprises:
-
determining if opening a page indicated by the memory request will exceed the established page limit valve and, if it will, selectively closing a page currently, in the open state;
opening the page indicated by the memory request; and
completing the memory access operation.
-
-
20. A method to access computer memory having a plurality of banks, each bank having a plurality of pages, the method comprising:
-
establishing a programmable page limit value representing a number of the plurality of pages that may be kept in an open state at one time, the act of establishing comprising determining a number of banks in the computer memory and setting the page limit value in response to the determination;
receiving a memory access request; and
performing a memory access operation in accordance with the established page limit value and the memory access request. - View Dependent Claims (21, 22, 23, 24)
obtaining a fraction value; and
setting the page limit value to a whole number approximately equal to the product of the number of banks in the computer memory and the obtained fraction value.
-
-
23. The method of claim 20, wherein the act of performing a memory access operation comprises:
-
determining if opening a page indicated by the memory request will exceed the established page limit value and, if it will, selectively closing a page currently in the open state;
opening the page indicated by the memory request; and
completing the memory access operation.
-
-
24. The method of claim 20, wherein the maximum number of the plurality of pages that may be kept in an open state at one time comprises a number less than the total number of pages of the plurality of banks.
-
25. A method to access computer memory having a plurality of banks, each bank having a plurality of pages, the method comprising:
-
establishing a programmable page limit value representing a number of the plurality of pages that may be kept in an open state at one time;
adjusting the page limit value if a page miss rate is above a specified value;
receiving a memory access request; and
performing a memory access operation in accordance with the established page limit value and the memory access request. - View Dependent Claims (26, 27, 28, 29)
determining if opening a page indicated by the memory request will exceed the established page limit and, if it will, selectively closing a page currently in the open state;
opening the page indicated by the memory request; and
completing the memory access operation.
-
-
29. The method of claim 25, wherein the maximum number of the plurality of pages that may be kept in an open state at one time comprises a number less than the total number of pages of the plurality of banks.
Specification