US2023244416A1PendingUtilityA1
Communicating a programmable atomic operator to a memory controller
Est. expiryOct 20, 2040(~14.2 yrs left)· nominal 20-yr term from priority
Inventors:Tony M. Brewer
G06F 3/0659G06F 3/0679G06F 3/0604G06F 3/0644G06F 9/3004G06F 12/0857G06F 12/06G06F 12/0895G06F 2212/1024G06F 2212/1041G06F 15/7825G06F 2212/1028G06F 13/1668Y02D10/00
69
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Devices and techniques for communicating a programmable atomic operator to a memory controller are described herein. A memory controller can receive a memory request and extract a command indicator that indicates a programmable atomic operator (PAO) command from the memory request. The memory controller can then extract a PAO index from the request and invoke the PAO based on the PAO index.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A memory controller comprising:
an interface configured to receive a memory request; a kernel memory configured to hold multiple atomic operator kernels, each atomic operator kernel held by the kernel memory at a respective index; and processing circuitry configured to:
locate, in response to a generic programmable atomic operator command in the memory request, an atomic operator kernel in the kernel memory based on an index in the memory request; and
execute the atomic operator kernel located in the kernel memory to satisfy the memory request.
2 . The memory controller of claim 1 , wherein the kernel memory is divided into partitions, and wherein each index into the kernel memory corresponds to a start address or an end address of a single partition in the partitions.
3 . The memory controller of claim 1 , wherein the processing circuitry is configured to:
receive, via the interface, a request to load the atomic operator kernel; write the atomic operator kernel into an open segment of the kernel memory; and return the index as part of a response to the request to load the atomic operator kernel.
4 . The memory controller of claim 1 , wherein the memory controller is a chiplet in a chiplet system, and wherein the memory request originated with another chiplet in the chiplet system.
5 . The memory controller of claim 1 , wherein the memory request is contained in a packet.
6 . The memory controller of claim 5 , wherein an indicator for the generic programmable atomic operator command is in a first thirty-six bits of a header for the packet.
7 . The memory controller of claim 6 , wherein the index is a field of the header.
8 . The memory controller of claim 7 , wherein the field is in an extension portion of the header.
9 . The memory controller of claim 7 , wherein the header includes an argument to the atomic operator kernel in the kernel memory.
10 . The memory controller of claim 9 , wherein the argument is in an extension portion of the header, and wherein the extension portion of the header is configured to hold one, two, three, or four arguments to the atomic operator kernel.
11 . A method comprising:
locating an atomic operator kernel in kernel memory of a memory controller based on an index in a memory request that also includes a generic programmable atomic operator command, the memory request received at an interface of the memory controller, the kernel memory configured to hold multiple atomic operator kernels at respective indices; and executing the atomic operator kernel located at the kernel memory to satisfy the memory request.
12 . The method of claim 11 , wherein the kernel memory is divided into partitions, and wherein each index into the kernel memory corresponds to a start address or an end address of a single partition in the partitions.
13 . The method of claim 11 , comprising:
receiving, via the interface, a request to load the atomic operator kernel; writing the atomic operator kernel into an open segment of the kernel memory; and returning the index as part of a response to the request to load the atomic operator kernel.
14 . The method of claim 11 , wherein the memory controller is a chiplet in a chiplet system, and wherein the memory request originated with another chiplet in the chiplet system.
15 . The method of claim 11 , wherein the memory request is contained in a packet.
16 . The method of claim 15 , wherein an indicator for the generic programmable atomic operator command is in a first thirty-six bits of a header for the packet.
17 . The method of claim 16 , wherein the index is a field of the header.
18 . The method of claim 17 , wherein the field is in an extension portion of the header.
19 . The method of claim 17 , wherein the header includes an argument to the atomic operator kernel in the kernel memory.
20 . The method of claim 19 , wherein the argument is in an extension portion of the header, and wherein the extension portion of the header is configured to hold one, two, three, or four arguments to the atomic operator kernel.Join the waitlist — get patent alerts
Track US2023244416A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.