Dynamic load based memory tag management
First Claim
1. A computer-implemented method for managing a memory control unit comprising:
- receiving a command at the memory control unit, wherein the command comprises a command type that either requires or does not require buffering resources;
determining, via the memory control unit, a number of available memory tags from a first set of memory tags that are associated with the buffering resources;
determining, via the memory control unit, a number of available memory tags from a second set of memory tags that are not associated with the buffering resources;
dynamically adjusting, via the memory control unit, an assignment of memory tags for use in the second set of memory tags based on the command type, the number of available memory tags from the first set of memory tags, and the number of available memory tags from the second set of memory tags, wherein dynamically adjusting the assignment of the memory tags for use in the second set of memory tags comprises;
determining, via the memory control unit, whether the number of the second set of memory tags exceeds a first threshold indicative of a number of memory tags in use; and
determining, via the memory control unit, whether the number of the first set of memory tags exceeds a second threshold indicative of a number of memory tags in use; and
preventing any further allocation of a subset of the second set of memory tags when the first set of memory tags have exceeded the second threshold indicative of a number of memory tags in use.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method for managing a memory control unit includes receiving a command at the memory control unit. The command includes a command type that either requires or does not require buffering resources. The method further includes determining, via the memory control unit, a number of available memory tags from a first set of memory tags that are associated with the buffering resources. The method includes determining, via the memory control unit, a number of available memory tags from a second set of memory tags that are not associated with the buffering resources. The method also includes dynamically adjusting, via the memory control unit, assignment of memory tags for use in the second set of memory tags based on the command type, the number of available memory tags from the first set of memory tags, and the number of available memory tags from the second set of memory tags.
39 Citations
16 Claims
-
1. A computer-implemented method for managing a memory control unit comprising:
-
receiving a command at the memory control unit, wherein the command comprises a command type that either requires or does not require buffering resources; determining, via the memory control unit, a number of available memory tags from a first set of memory tags that are associated with the buffering resources; determining, via the memory control unit, a number of available memory tags from a second set of memory tags that are not associated with the buffering resources; dynamically adjusting, via the memory control unit, an assignment of memory tags for use in the second set of memory tags based on the command type, the number of available memory tags from the first set of memory tags, and the number of available memory tags from the second set of memory tags, wherein dynamically adjusting the assignment of the memory tags for use in the second set of memory tags comprises; determining, via the memory control unit, whether the number of the second set of memory tags exceeds a first threshold indicative of a number of memory tags in use; and determining, via the memory control unit, whether the number of the first set of memory tags exceeds a second threshold indicative of a number of memory tags in use; and preventing any further allocation of a subset of the second set of memory tags when the first set of memory tags have exceeded the second threshold indicative of a number of memory tags in use. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for managing a memory comprising:
-
a memory control unit configured to; receive a command, wherein the command comprises a command type that either requires or does not require buffering resources; determine a number of available memory tags from a first set of memory tags that are associated with the buffering resources; determine a number of available memory tags from a second set of memory tags that are not associated with the buffering resources; dynamically adjust an assignment of memory tags for use in the second set of memory tags based on the command type, the number of available memory tags from the first set of memory tags, and the number of available memory tags from the second set of memory tags, wherein the memory control unit is configured to dynamically adjust the assignment of the memory tags for use in the second set of memory tags by; determining, via the memory control unit, whether the number of the second set of memory tags exceeds a first threshold indicative of a number of memory tags in use; and determining, via the memory control unit, whether the number of the first set of memory tags exceeds a second threshold indicative of a number of memory tags in use; and prevent any further allocation of a subset of the second set of memory tags when the first set of memory tags have exceeded the second threshold indicative of a number of memory tags in use. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product for managing a memory control unit comprising, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a memory control unit to cause the memory control unit to perform a method comprising:
-
receiving a command at the memory control unit, wherein the command comprises a command type that either requires or does not require buffering resources; determining, via the memory control unit, a number of available memory tags from a first set of memory tags that are associated with the buffering resources; determining, via the memory control unit, a number of available memory tags from a second set of memory tags that are not associated with the buffering resources; dynamically adjusting, via the memory control unit, an assignment of memory tags for use in the second set of memory tags based on the command type, the number of available memory tags from the first set of memory tags, and the number of available memory tags from the second set of memory tags, wherein dynamically adjusting the assignment of the memory tags for use in the second set of memory tags comprises; determining, via the memory control unit, whether the number of the second set of memory tags exceeds a first threshold indicative of a number of memory tags in use; and determining, via the memory control unit, whether the number of the first set of memory tags exceeds a second threshold indicative of a number of memory tags in use; and preventing any further allocation of a subset of the second set of memory tags when the first set of memory tags have exceeded the second threshold indicative of a number of memory tags in use.
-
Specification