IP Library › Granted Patent US 12,430,060
Granted Patent B2
US 12,430,060 · App. 17/558,353 · Granted Sep 30, 2025

Methods and apparatus to adapt memory channel usage on a per-user basis

Inventors: Jianwei Dai (Portland, OR); Virendra Vikramsinh Adsure (Folsom, CA); Taeyoung Kim (Fremont, CA); Chia-Hung S. Kuo (Folsom, CA); Deepak Gandiga Shivakumar (Beaverton, OR); Amir Ali Radjai (Portland, OR); Deepak Samuel Kirubakaran (Hillsboro, OR); Jianfang Zhu (Portland, OR); Ivan Chen (Taipei, TW)
Assignee: Intel Corporation
G06F3/0655G06F3/0625G06F3/0679
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 12,430,060
App. No.
17/558,353
Granted
Sep 30, 2025
Kind
B2
Abstract

An example apparatus includes processor circuitry to execute instructions to determine memory usage data associated with a user profile, determine an address hashing policy based on the memory usage data, and determine power states of memory channels based on the address hashing policy.

Claims (64)

1. An apparatus comprising:

at least one memory;

instructions; and

processor circuitry to execute the instructions to:

determine memory usage data associated with a user profile, the memory usage data including at least one of a maximum memory bandwidth associated with the user profile, a maximum memory capacity usage associated with the user profile, a maximum memory latency associated with the user profile, or applications associated with the user profile;

determine an address hashing policy based on the memory usage data; and

determine power states of memory channels based on the address hashing policy.

2. The apparatus of claim 1 , wherein the applications associated with the user profile are first applications, wherein the processor circuitry is to execute the instructions to:

perform at least one of a first comparison between the memory usage data and at least one threshold associated with the address hashing policy, or a second comparison between the memory usage data and an application or a category of second applications associated with the address hashing policy; and

determine the address hashing policy based on at least one of the first comparison or the second comparison.

3. The apparatus of claim 2 , wherein the at least one threshold includes at least one of a capacity threshold, a bandwidth threshold, or a latency threshold.

4. The apparatus of claim 1 , wherein the processor circuitry is to execute the instructions to determine the address hashing policy in response to the maximum memory bandwidth associated with the user profile satisfying a bandwidth threshold.

5. The apparatus of claim 1 , wherein the power states include a high-power state and a low-power state, wherein the memory channels include a first memory channel, wherein the processor circuitry is to execute the instructions to:

determine a usage frequency of the first memory channel based on the address hashing policy; and

cause the first memory channel to operate in the low-power state in response to the usage frequency satisfying a usage frequency threshold associated with the low-power state.

6. The apparatus of claim 5 , wherein the low-power state is a first low-power state and the usage frequency threshold is a first usage frequency threshold, wherein the power states include a second low-power state, wherein the processor circuitry is to execute the instructions to:

in response to the usage frequency satisfying the first usage frequency threshold and a second usage frequency threshold, cause the first memory channel to operate in the second low-power state;

in response to the usage frequency satisfying the first usage frequency threshold and not satisfying the second usage frequency threshold, cause the first memory channel to operate in the first low-power state; and

in response to the usage frequency not satisfying the first usage frequency threshold nor the second usage frequency threshold, cause the first memory channel to operate in the high-power state.

7. An apparatus comprising:

at least one memory;

instructions; and

programmable circuitry to execute the instructions to:

determine memory usage data associated with a user profile;

determine an address hashing policy based on the memory usage data;

determine power states of memory channels based on the address hashing policy, wherein the power states include a high-power state and a low-power state, wherein the memory channels include a first memory channel in the low-power state; and

adjust the first memory channel to the high-power state in response to the address hashing policy causing the first memory channel to encounter traffic.

8. The apparatus of claim 7 , wherein the processor programmable circuitry is to execute the instructions to:

in response to the first memory channel being adjusted from the low-power state to the high-power state, measure an idle time of the first memory channel; and

in response to the idle time satisfying an idle time threshold, adjust the first memory channel to the low-power state.

9. A non-transitory machine executable medium comprising instructions that, when executed, cause one or more processors to at least:

determine memory usage data associated with a user profile;

perform at least one of (i) a first comparison between the memory usage data and at least one threshold associated with address hashing policies, or (ii) a second comparison between the memory usage data and applications associated with respective ones of the address hashing policies; and

determine an address hashing policy to implement based on at least one of the first comparison or the second comparison.

10. The non-transitory machine executable medium of claim 9 , wherein the instructions, when executed, cause the one or more processors to determine whether to configure one or more memory channels to operate in a low-power state based on the address hashing policy.

11. The non-transitory machine executable medium of claim 10 , wherein the memory channels include a first memory channel, wherein the instructions, when executed, cause the one or more processors to:

configure the first memory channel to the low-power state; and

adjust the first memory channel to a high-power state in response detecting traffic directed towards the first memory channel.

12. The non-transitory machine executable medium of claim 11 , wherein the low-power state is a first low-power state, wherein the instructions, when executed, cause the one or more processors to:

in response to the first memory channel being adjusted to the high-power state, measure an idle period of the first memory channel;

in response to the idle period satisfying an idle period threshold and a storage space associated with the first memory channel being empty, adjust the first memory channel to the first low-power state; and

in response to the idle period satisfying the idle period threshold and the storage space associated with the first memory channel not being empty, adjust the first memory channel to a second low-power state.

13. The non-transitory machine executable medium of claim 12 , wherein the second low-power state utilizes more power than the first low-power state.

14. The non-transitory machine executable medium of claim 10 , wherein the memory channels include a first memory channel, wherein the instructions, when executed, cause the one or more processors to:

determine a usage frequency of the first memory channel associated with the address hashing policy; and

cause the first memory channel to operate in the low-power state in response to the usage frequency satisfying a usage frequency threshold associated with the low-power state.

15. The non-transitory machine executable medium of claim 9 , wherein the instructions, when executed, cause the one or more processors to perform the first comparison, wherein the at least one threshold is in a first set of thresholds associated with a first address hashing policy and a second set of thresholds associated with a second address hashing policy, the first set of thresholds including two or more of a first capacity threshold, a first bandwidth threshold, or a first latency threshold.

16. The non-transitory machine executable medium of claim 15 , wherein the instructions, when executed, cause the one or more processors to:

configure one of a plurality of memory channels to operate in a low-power state in response to the at least one threshold in the first set of thresholds being satisfied; and

configure more than one of the memory channels to operate in the low-power state in response to the at least one threshold in the second set of thresholds being satisfied.

17. The non-transitory machine executable medium of claim 9 , wherein the memory usage data includes at least one of a maximum capacity utilized over a period of time, a maximum bandwidth utilized over the period of time, or a maximum latency encountered over the period of time.

18. An apparatus comprising:

means for determining a memory usage corresponding to a user profile;

means for determining an address hashing policy to utilize to store data based on the memory usage;

means for adjusting power states for memory channels based on the address hashing policy, the power states including a high-power state and a low-power state, the memory channels include a first memory channel; and

means for determining a usage frequency of the first memory channel corresponding to the address hashing policy, the means for adjusting the power states to cause the first memory channel to operate in the low-power state in response to the usage frequency satisfying a usage frequency threshold associated with the low-power state.

19. The apparatus of claim 18 , further including means for comparing to perform at least one of a first comparison between the memory usage and at least one threshold associated with the address hashing policy, or a second comparison between the memory usage and an application or a category of applications associated with the address hashing policy, wherein the address hashing policy is determined based on at least one of the first comparison or the second comparison.

20. The apparatus of claim 19 , wherein the at least one threshold includes at least one of a capacity threshold, a bandwidth threshold, or a latency threshold.

21. The apparatus of claim 18 , wherein the memory usage includes at least one of a maximum memory bandwidth associated with the user profile, a maximum memory capacity usage associated with the user profile, a maximum memory latency associated with the user profile, or applications associated with the user profile.

22. The apparatus of claim 21 , wherein the means for determining the address hashing policy is to determine the address hashing policy in response to the maximum memory bandwidth associated with the user profile satisfying a bandwidth threshold.

23. The apparatus of claim 19 , wherein the low-power state is a first low-power state and the usage frequency threshold is a first usage frequency threshold, wherein the power states include a second low-power state, wherein the means for adjusting the power states of the memory channels is to:

in response to the usage frequency satisfying the first usage frequency threshold and a second usage frequency threshold, cause the first memory channel to operate in the second low-power state;

in response to the usage frequency satisfying the first usage frequency threshold and not satisfying the second usage frequency threshold, cause the first memory channel to operate in the first low-power state; and

in response to the usage frequency not satisfying the first usage frequency threshold nor the second usage frequency threshold, cause the first memory channel to operate in the high-power state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2022
From: DAI, JIANWEI; ADSURE, VIRENDRA VIKRAMSINH; KIM, TAEYOUNG; KUO, CHIA-HUNG S.; SHIVAKUMAR, DEEPAK GANDIGA; RADJAI, AMIR ALI; KIRUBAKARAN, DEEPAK SAMUEL; ZHU, JIANFANG; CHEN, IVAN
To: INTEL CORPORATION
Reel/Frame 060850/0523 →
Continuity (1)
Related Publication 20220188016A1 · Jun 16, 2022
References Cited (3)
US 8107458B1 · Ranganathan · 2012 [cited by examiner]
US 9384061B1 · Deivanayagam · 2016 [cited by examiner]
US 20220404789A1 · Amaro, Jr. · 2022 [cited by examiner]