IP Library › Granted Patent US 9,146,867
Granted Patent B2
US 9,146,867 · App. 13/285,735 · Granted Sep 29, 2015

Methods and apparatus to access memory using runtime characteristics

Inventors: Jeffrey Clifford Mogul (Menlo Park, CA); Naveen Muralimanohar (Santa Clara, CA); Mehul A. Shah (Saratoga, CA); Eric A. Anderson (Mountain View, CA)
Assignee: Hewlett-Packard Development Company, L.P.
G06F12/0802G06F12/1027G06F8/4442G06F2212/502G06F2212/6024Y02B60/1225
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,146,867
App. No.
13/285,735
Filed
Oct 31, 2011
Granted
Sep 29, 2015
Kind
B2
Art Unit
2139
USPC
711/154
Abstract

Example methods, apparatus, and articles of manufacture to access memory are disclosed. A disclosed example method involves receiving at least one runtime characteristic associated with accesses to contents of a memory page and dynamically adjusting a memory fetch width for accessing the memory page based on the at least one runtime characteristic.

Claims (28)

1. A method to access a memory, the method comprising:

receiving at least one runtime characteristic associated with accesses to contents of a memory page;

dynamically adjusting a memory fetch width for accessing the memory page based on the at least one runtime characteristic, wherein the at least one runtime characteristic is a filled and non-accessed micro-buffer count; and

storing the filled and non-accessed micro-buffer count, a memory reference count, and a memory fetch width in a translation lookaside buffer table entry corresponding to the memory page.

2. A method as defined in claim 1 , wherein dynamically adjusting the memory fetch width is performed by at least one of a memory controller, an operating system, or an application.

3. A method as defined in claim 1 , further comprising receiving the memory reference count, the filled and non-accessed micro-buffer count indicative of a quantity of data units filled in a micro-buffer and not accessed from the micro-buffer, and the memory reference count indicative of a quantity of fetches from the memory page, wherein dynamically adjusting the memory fetch width comprises:

for the memory page, determining a ratio of the filled and non-accessed micro-buffer count to the memory reference count;

if the ratio is greater than a first threshold, decreasing the memory fetch width; and

if the ratio is less than a second threshold, increasing the memory fetch width.

4. A method as defined in claim 1 , further comprising, when the memory fetch width is decreased, if the memory fetch width is less than a first threshold allowable memory fetch width, setting the memory fetch width to the first threshold allowable memory fetch width.

5. A method as defined in claim 1 , further comprising, when the memory fetch width is increased, if the memory fetch width is greater than a second threshold allowable memory fetch width, setting the memory fetch width to the second threshold allowable memory fetch width.

6. A method as defined in claim 1 , wherein dynamically adjusting the memory fetch width comprises at least one of:

decreasing the memory fetch width by dividing the memory fetch width by a constant factor, or

increasing the memory fetch width by multiplying the memory fetch width by the constant factor.

7. A method as defined in claim 1 , further comprising:

determining whether the memory fetch width is set to a static value; and

adjusting the memory fetch width when it is determined that the memory fetch width is not set to the static value.

8. A method as defined in claim 7 , wherein the static value is settable by an operating system or an application executing on a processor in communication with the memory controller.

9. A tangible machine accessible medium having instructions stored thereon that, when executed, cause a machine to at least:

for a memory page, determine a ratio of a filled and non-accessed micro-buffer count to a memory reference count, the filled and non-accessed micro-buffer count indicative of a quantity of data units filled in a micro-buffer and not accessed from the micro-buffer, and the memory reference count indicative of a quantity of fetches from the memory page;

if the ratio is greater than a first threshold, decrease a memory fetch width;

if the ratio is less than a second threshold, increase the memory fetch width; and

store the filled and non-accessed micro-buffer count, the memory reference count, and the memory fetch width in a translation lookaside buffer table entry corresponding to the memory page.

10. A machine accessible medium as defined in claim 9 having instructions stored thereon that, when executed, cause the machine to, when the memory fetch width is decreased, if the memory fetch width is less than a first threshold allowable memory fetch width, set the memory fetch width to the first threshold allowable memory fetch width.

11. A machine accessible medium as defined in claim 10 having instructions stored thereon that, when executed, cause the machine to, when the memory fetch width is increased, if the memory fetch width is greater than a second threshold allowable memory fetch width, set the memory fetch width to the second threshold allowable memory fetch width.

12. A machine accessible medium as defined in claim 9 having instructions stored thereon that, when executed, cause the machine to:

determine whether the memory fetch width is set to a static value; and

determine the ratio when it is determined that the memory fetch width is not set to the static value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2012
From: MOGUL, JEFFREY CLIFFORD; MURALIMANOHAR, NAVEEN; SHAH, MEHUL A.; ANDERSON, ERIC A.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 027773/0091 →
Continuity (1)
Related Publication 20130111147A1 · May 2, 2013