Memory request scheduling to improve bank group utilization
AssigneeInternational Business Machines Corporation
InventorsVenkata K. Tavva, Dharmesh Parikh, Stephen J. Powell
Life of this patent
Estimating the term…
Abstract
Scheduling memory operations using bank groups including receiving, by a sequencing engine in a memory controller, a set of operations targeting locations in a memory device, wherein the memory device comprises a plurality of bank groups; determining, by the sequencing engine, a targeted bank group of each of the set of operations; selecting, by the sequencing engine, one of the set of operations based on the targeted bank group of each of the set of operations and a bank group of a previously sent operation; and sending, by the sequencing engine, the selected one of the set of operations to the memory device.
Claims17
A method of scheduling memory operations using bank groups, the method comprising:
- receiving, by a sequencing engine in a memory controller, a set of operations targeting locations in a memory device, wherein the memory device comprises a plurality of bank groups and the memory controller stores a bank group of a previously sent operation;
- determining, by the sequencing engine, a targeted bank group of each of the set of operations;
- selecting, by the sequencing engine, one of the set of operations based on the targeted bank group of each of the set of operations and a bank group of a previously sent operation, including accessing the stored bank group of the previously sent operation in the memory controller;
- and
- sending, by the sequencing engine, the selected one of the set of operations to the memory device.
An apparatus for scheduling memory operations using bank groups, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
- receiving, by a sequencing engine in a memory controller, a set of operations targeting locations in a memory device, wherein the memory device comprises a plurality of bank groups and the memory controller stores a bank group of a previously sent operation;
- determining, by the sequencing engine, a targeted bank group of each of the set of operations;
- selecting, by the sequencing engine, one of the set of operations based on the targeted bank group of each of the set of operations and a bank group of a previously sent operation, including accessing the stored bank group of the previously sent operation in the memory controller;
- and
- sending, by the sequencing engine, the selected one of the set of operations to the memory device.
A computer program product for scheduling memory operations using bank groups, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
- receiving, by a sequencing engine in a memory controller, a set of operations targeting locations in a memory device, wherein the memory device comprises a plurality of bank groups and the memory controller stores a bank group of a previously sent operation;
- determining, by the sequencing engine, a targeted bank group of each of the set of operations;
- selecting, by the sequencing engine, one of the set of operations based on the targeted bank group of each of the set of operations and a bank group of a previously sent operation, including accessing the stored bank group of the previously sent operation in the memory controller;
- and
- sending, by the sequencing engine, the selected one of the set of operations to the memory device.
Dependencies are inferred from the claim text.